展示了如何调试问题,即PHP模块没有加载到PHP中。
我使用OpenSUSEV42。2个Linux操作系统,带有Apache Web服务器,PHP v7。1、Mysql。
因为它不提供PHPV7。1我需要,我构建了PHPV7。1来源。使用PHP-FPM。
我把它安装到
/opt/php-7.1/
php.ini在:
/opt/php-7.1/lib/php.ini
我发现,opcache安装到
/opt/php-7.1/lib64/extensions/no-debug-non-zts-20160303/opcache.so
我编辑了php。ini并添加了以下行:
zend_extension=/opt/php-7.1/lib64/extensions/no-debug-non-zts-20160303/opcache.so
重新启动:
systemctl restart php-7.1-fpm.service
systemctl restart apache2.service
但我还是得到了以下结果:
php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imap
intl
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib
[Zend Modules]
[Zend模块]中缺少opache。
但在configure中有“--enable opcache”:
php-i | grep-i opcache
配置命令=
我还尝试指定为:
zend_extension=opcache
但我得到了同样的结果,opcache仍然缺失。
如何修复启用opcache的问题?
在我的例子中,受影响的模块是opache
PHP模块。
解决方案:
我注意到,在phpinfo中,"display_errors"本地值为OFF,主值为ON。因为Master值来自php.ini,并且在/opt-php-7.1/lib/php.ini
中有"display_errors=off
",这意味着没有加载此php.ini。
但是php。ini位于(并且应该从以下位置加载):/opt/php-7.1/lib/php。ini
。
此外,我注意到,在phpinfo中,配置文件(php.ini)路径设置为:/opt-php-7.1/lib64
,所以这意味着php.ini应该位于/opt-php-7.1/lib64/
目录。
步骤1修复:
copy php.ini
from
/opt/php-7.1/lib/php.ini
to
/opt/php-7.1/lib64/php.ini
在命令行中:
cp -p /opt/php-7.1/lib/php.ini /opt/php-7.1/lib64/php.ini
还注意到,php是用'——libdir=lib64'
参数编译的。
这可能意味着,“opcache.so”文件应该在这个目录下找到。
当前“opcache.so”位于目录:“/opt/php-7.1/lib64/extensions/no-debug-non-zts-20160303/
”中。我想把“opcache.so”放到“/opt/php-7.1/lib64/extensions/
”就足够了。这成了最后的解决办法。
步骤2修复:
copy opcache.a & opcache.so
from
/opt/php-7.1/lib64/extensions/no-debug-non-zts-20160303/
to
/opt/php-7.1/lib64/extensions/
在命令行中:
cp -p /opt/php-7.1/lib64/extensions/no-debug-non-zts-20160303/opcache.* /opt/php-7.1/lib64/extensions/
Step3修复:
重启Apache
service apache2 restart
service php-7.1-fpm restart
完成这3个修复步骤后,PHPopache模块成功加载
。
结果:
php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imap
intl
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache