解决php扩展安装不生效问题
php安装扩展模块后,重启不生效的原因及解决办法
在lnmp运维环境中,我们经常会碰到有些php依赖的扩展模块没有安装,这就需要后续添加这些扩展模块。在扩展被安装配置后,往往会发现php-fpm服务重启后,这些扩展并没有真正加载进去!下面就以一个示例进行说明:
示例环境:
php安装包存放路径:/data/software/php-5.6.10.tar.gz
php安装目录:/data/php
[root@zabbix~]#ll/data/software/php-5.6.10.tar.gz -rw-r--r--1rootroot183064036月112015/data/software/php-5.6.10.tar.gz [root@zabbix~]#ll-d/data/software/php-5.6.10 drwxr-xr-x17wwwwww409610月1319:38/data/software/php-5.6.10 [root@zabbix~]#ls/data/php/ binetcincludelibphpsbinvar
使用php-m命令,发现少了bcmath和gettest扩展
[root@zabbix~]#vim/etc/profile exportPATH=$PATH:/data/php/bin [root@zabbix~]#source/etc/profile [root@zabbix~]#php-m|grepbcmath [root@zabbix~]#php-m|grepgettext [root@zabbix~]#
现在开始安装bcmatn和gettest扩展
安装bcmath扩展
[root@zabbix~]#cd/data/software/php-5.6.10/ext/bcmath/ [root@zabbixbcmath]#/data/php/bin/phpize [root@zabbixbcmath]#./configure--with-php-config=/data/php/bin/php-config [root@zabbixbcmath]#make&&make .......
编译成功之后会告诉你一个目录
Installingsharedextensions:/data/php/lib/php/extensions/no-debug-non-zts-20131226
安装gettext扩展
[root@zabbix~]#cd/data/software/php-5.6.10/ext/gettext/ [root@zabbixgettext]#/data/php/bin/phpize [root@zabbixgettext]#./configure--with-php-config=/data/php/bin/php-config [root@zabbixgettext]#make&&make .......
编译成功之后会告诉你一个目录
Installingsharedextensions:/data/php/lib/php/extensions/no-debug-non-zts-20131226 [root@zabbix~]#ll/data/php/lib/php/extensions/no-debug-non-zts-20131226
总用量2336
-rwxr-xr-x1rootroot38015210月1323:03bcmath.so -rwxr-xr-x1rootroot5037610月1323:31gettext.so
配置php.ini
[root@zabbix~]#vim/data/php/etc/php.ini ......... extension_dir="/data/php/lib/php/extensions/no-debug-non-zts-20131226" extension=bcmath.so extension=gettext.so
重启php-fpm
[root@zabbix~]#/etc/init.d/php-fpmrestart Gracefullyshuttingdownphp-fpm.done Startingphp-fpmdone
然后再次查看bcmath和gettext扩展安装后,是否生效?
[root@zabbix~]#php-m|grepbcmath [root@zabbix~]#php-m|grepgettext [root@zabbix~]#
发现并没有生效!why!?
这是因为php-fpm启动时,没指定php.ini,所以一直都没生效!
[root@zabbixetc]#/etc/init.d/php-fpmrestart Gracefullyshuttingdownphp-fpm.done Startingphp-fpmdone [root@zabbixetc]#ps-ef|grepphp-fpm root195291023:37?00:00:00php-fpm:masterprocess(/data/php/etc/php-fpm.conf) www1953019529023:37?00:00:00php-fpm:poolwww www1953119529023:37?00:00:00php-fpm:poolwww root1953317173023:37pts/400:00:00grep--color=autophp-fpm
解决办法:
1)指定php.ini文件来启动php-fpm服务
[root@zabbixetc]#/etc/init.d/php-fpmstop Gracefullyshuttingdownphp-fpm.done [root@zabbixetc]#ps-ef|grepphp-fpm root1954117173023:38pts/400:00:00grep--color=autophp-fpm [root@zabbixetc]#/data/php/sbin/php-fpm-y/data/php/etc/php-fpm.conf-c/data/php/etc/php.ini [root@zabbixetc]#ps-ef|grepphp-fpm root195431023:38?00:00:00php-fpm:masterprocess(/data/php/etc/php-fpm.conf) www1954419543023:38?00:00:00php-fpm:poolwww www1954519543023:38?00:00:00php-fpm:poolwww root1954717173023:39pts/400:00:00grep--color=autophp-fpm
2)要是上面启动后,安装的php扩展还是没有生效!那就可能是php.ini文件没有放对路径(这里我是直接放大php的etc目录下的)
[root@zabbix~]#ll/data/php/etc/php.ini -rw-r--r--1rootroot7324310月1323:32/data/php/etc/php.ini [root@zabbix~]#cp/data/php/etc/php.ini/data/php/lib/ [root@zabbix~]#ll/data/php/lib/php.ini -rw-r--r--1rootroot7324310月1323:35/data/php/lib/php.ini
然后再接着重启php-fpm服务即可!
[root@zabbix~]#/etc/init.d/php-fpmrestart Gracefullyshuttingdownphp-fpm.done Startingphp-fpmdone [root@zabbix~]#ps-ef|grepphp root195641023:43?00:00:00php-fpm:masterprocess(/data/php/etc/php-fpm.conf) www1956519564023:43?00:00:00php-fpm:poolwww www1956619564023:43?00:00:00php-fpm:poolwww root1956817173023:43pts/400:00:00grep--color=autophp [root@zabbix~]#
最后再次查看bcmath和gettext扩展有没有生效?
[root@zabbix~]#php-m|grepbcmath bcmath [root@zabbix~]#php-m|grepgettext gettext [root@zabbix~]#
总结
以上所述是小编给大家介绍的解决php扩展安装不生效问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。