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-opensslReading 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
相关产品推荐
相关产品推荐

