我收到这个错误,我不明白为什么
我有一台使用 easyApache 4 VPS 的 CentOS 6.8 服务器
我怎样才能找出哪个模块没有加载?
加载失败/opt/cpanel/ea-php70/root/usr/lib64/php/modules/: /opt/cpanel/ea-php70/root/usr/lib64/php/modules/: 无法读取文件 data:是一个目录
我看过其他帖子,但它们都附有模块扩展。当我在命令行中
php -m
时,我的模块似乎正在加载。
这就是它所显示的。
Failed loading /opt/cpanel/ea-php70/root/usr/lib64/php/modules/: /opt/cpanel/ea-php70/root/usr/lib64/php/modules/: cannot read file data: Is a directory
[PHP Modules]
bcmath
cgi-fcgi
Core
ctype
curl
date
dom
filter
ftp
gd
hash
iconv
intl
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
soap
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
在 extension_dir 文件下的 php.ini 中,我取出“/usr/local/lib/php/extensions/no-debug-non-zts-20131226”并将其留空,以加载我的站点和模块正确。
;可加载扩展(模块)所在的目录。
extension_dir =“”
如果我这样做也有效
extension_dir ="/opt/cpanel/ea-php70/root/usr/lib64/php/modules/"
我查看了我的 error_log 并且没有错误
但是我的网站在后端/管理员上确实有问题,前端的图像没有显示。 如果有帮助,这里是网站 www.patriciasouths.com
更新
我发现查看 apache error_log
mod_pagespeed 搞乱了我的后端和图像,所以我禁用它直到我可以正确配置。
解决方案
我注释掉了
;extension_dir = ""
和
;zend_extension = ""
显然,在 easyApache 4 中允许您使用多个 PHP 版本,以防您有多个网站需要不同版本的 PHP。它还有多个 .ini 文件,我的模块是通过另一个
.ini
加载的,所以 php.ini
中的扩展为什么要加载它两次,这是冲突的(这是我的猜测)
对于我的特殊情况,我最近在 Laravel 9 上从 8.0 升级到 8.1,我的默认 ini 设置与 PHP 8.0 到 8.1 不匹配。我怀疑它与
max_execution_time
以及尝试运行memory_limit
时的php artisan queue:work
有关。
进行更改,现在作业成功运行。
PHP ini 文件中需要注意的一些设置是:
memory_limit: This setting defines the maximum amount of memory a script can allocate. If this limit is exceeded, it can cause a segmentation fault. Try increasing this value and see if the issue still occurs.
max_execution_time: This setting defines the maximum time a script can run before it is terminated. If this time is exceeded, it can also cause a segmentation fault. Try increasing this value and see if the issue still occurs.
error_reporting: This setting defines the level of error reporting that PHP displays. If this is set too high, it can cause performance issues and potentially a segmentation fault. Try reducing this value and see if the issue still occurs.
display_errors: This setting determines whether PHP errors are displayed to the user. If this is set to "On", it can cause performance issues and potentially a segmentation fault. Try setting this to "Off" and see if the issue still occurs.