You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04下PHP 8.1无法加载OpenSSL扩展导致Contao网站异常的求助

Ubuntu 20.04下PHP 8.1无法加载OpenSSL扩展导致Contao网站异常的求助

大家好,我最近把本地运行的Contao网站从Contao 3.5.40 + PHP 5.6升级到了Contao 4.13 + PHP 8.1,服务器环境是Ubuntu 20.04 + Apache2。网站大部分内容能正常显示,但遇到了两个问题:部分头部图片缺失,还有搜索栏功能完全损坏。

我查看了Apache2的错误日志,发现了几个关键报错信息:

[Fri Jan 05 11:57:04.458185 2024] [mpm_prefork:notice] [pid 128763] AH00169: caught SIGTERM, shutting down

PHP Warning:  PHP Startup: Unable to load dynamic library 'openssl' (tried: /usr/lib/php/20210902/openssl (/usr/lib/php/20210902/openssl: cannot open shared object file: No such file or directory), /usr/lib/php/20210902/openssl.so (/usr/lib/php/20210902/openssl.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

PHP Warning:  Module "intl" is already loaded in Unknown on line 0

[Fri Jan 05 11:57:04.563161 2024] [mpm_prefork:notice] [pid 128837] AH00163: Apache/2.4.41 (Ubuntu) configured -- resuming normal operations

[Fri Jan 05 11:57:04.563230 2024] [core:notice] [pid 128837] AH00094: Command line: '/usr/sbin/apache2'

我去检查了PHP扩展目录/usr/lib/php/20210902/,确实找不到openssl相关的文件。

我尝试了以下几种解决方法,但都没成功:

  • 首先尝试通过apt安装扩展:
    sudo apt-get install php8.1-openssl
    
    但返回错误:
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package php8.1-openssl
    E: Couldn't find any package by glob 'php8.1-openssl'
    E: Couldn't find any package by regex 'php8.1-openssl'
    
  • 确认php.ini文件里的extension=openssl已经取消注释;
  • 尝试用PHP源码编译安装:
    ./configure --with-openssl
    make
    sudo make install
    

现在实在没头绪了,有没有大佬能指点下,怎么解决OpenSSL扩展加载的问题?或者我的网站异常是不是还有其他隐藏原因?

备注:内容来源于stack exchange,提问作者Mesarich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 09:19:31