解决php扩展安装不生效问题


Posted in PHP onOctober 25, 2019

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-- 1 root root 18306403 6月 11 2015 /data/software/php-5.6.10.tar.gz
[root@zabbix ~]# ll -d /data/software/php-5.6.10
drwxr-xr-x 17 www www 4096 10月 13 19:38 /data/software/php-5.6.10
[root@zabbix ~]# ls /data/php/
bin etc include lib php sbin var

使用php -m命令,发现少了bcmath和gettest扩展

[root@zabbix ~]# vim /etc/profile
export PATH=$PATH:/data/php/bin
[root@zabbix ~]# source /etc/profile
[root@zabbix ~]# php -m|grep bcmath
[root@zabbix ~]# php -m|grep gettext
[root@zabbix ~]#

现在开始安装bcmatn和gettest扩展

安装bcmath扩展

[root@zabbix ~]# cd /data/software/php-5.6.10/ext/bcmath/
[root@zabbix bcmath]# /data/php/bin/phpize
[root@zabbix bcmath]# ./configure --with-php-config=/data/php/bin/php-config
[root@zabbix bcmath]# make && make
.......

编译成功之后会告诉你一个目录

Installing shared extensions:   /data/php/lib/php/extensions/no-debug-non-zts-20131226

安装gettext扩展

[root@zabbix ~]# cd /data/software/php-5.6.10/ext/gettext/
[root@zabbix gettext]# /data/php/bin/phpize
[root@zabbix gettext]# ./configure --with-php-config=/data/php/bin/php-config
[root@zabbix gettext]# make && make
.......

编译成功之后会告诉你一个目录

Installing shared extensions:   /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-x 1 root root 380152 10月 13 23:03 bcmath.so
-rwxr-xr-x 1 root root  50376 10月 13 23:31 gettext.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-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done

然后再次查看bcmath和gettext扩展安装后,是否生效?

[root@zabbix ~]# php -m|grep bcmath
[root@zabbix ~]# php -m|grep gettext
[root@zabbix ~]#

发现并没有生效! why!?

这是因为php-fpm启动时,没指定php.ini,所以一直都没生效!

[root@zabbix etc]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@zabbix etc]# ps -ef|grep php-fpm
root   19529   1 0 23:37 ?    00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
www   19530 19529 0 23:37 ?    00:00:00 php-fpm: pool www
www   19531 19529 0 23:37 ?    00:00:00 php-fpm: pool www
root   19533 17173 0 23:37 pts/4  00:00:00 grep --color=auto php-fpm

解决办法:

1)指定php.ini文件来启动php-fpm服务

[root@zabbix etc]# /etc/init.d/php-fpm stop
Gracefully shutting down php-fpm . done
[root@zabbix etc]# ps -ef|grep php-fpm
root   19541 17173 0 23:38 pts/4  00:00:00 grep --color=auto php-fpm
[root@zabbix etc]# /data/php/sbin/php-fpm -y /data/php/etc/php-fpm.conf -c /data/php/etc/php.ini
[root@zabbix etc]# ps -ef|grep php-fpm
root   19543   1 0 23:38 ?    00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
www   19544 19543 0 23:38 ?    00:00:00 php-fpm: pool www
www   19545 19543 0 23:38 ?    00:00:00 php-fpm: pool www
root   19547 17173 0 23:39 pts/4  00:00:00 grep --color=auto php-fpm

2)要是上面启动后,安装的php扩展还是没有生效!那就可能是php.ini文件没有放对路径(这里我是直接放大php的etc目录下的)

[root@zabbix ~]# ll /data/php/etc/php.ini
-rw-r--r-- 1 root root 73243 10月 13 23: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-- 1 root root 73243 10月 13 23:35 /data/php/lib/php.ini

然后再接着重启php-fpm服务即可!

[root@zabbix ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@zabbix ~]# ps -ef|grep php
root   19564   1 0 23:43 ?    00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
www   19565 19564 0 23:43 ?    00:00:00 php-fpm: pool www
www   19566 19564 0 23:43 ?    00:00:00 php-fpm: pool www
root   19568 17173 0 23:43 pts/4  00:00:00 grep --color=auto php
[root@zabbix ~]#

最后再次查看bcmath和gettext扩展有没有生效?

[root@zabbix ~]# php -m|grep bcmath
bcmath
[root@zabbix ~]# php -m|grep gettext
gettext
[root@zabbix ~]#

总结

以上所述是小编给大家介绍的解决php扩展安装不生效问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
PHP入门学习的几个不错的实例代码
Jul 13 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
php实现简易聊天室应用代码
Sep 23 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
Dec 10 PHP
php blowfish加密解密算法
Jul 02 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
Laravel实现通过blade模板引擎渲染视图
Oct 25 #PHP
laravel 解决Validator使用中出现的问题
Oct 25 #PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 #PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 #PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 #PHP
Laravel validate error处理,ajax,json示例
Oct 25 #PHP
laravel 错误处理,接口错误返回json代码
Oct 25 #PHP
You might like
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
Javascript & DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
用Python创建声明性迷你语言的教程
2015/04/13 Python
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
竞争性谈判邀请书
2014/02/06 职场文书
招聘专员岗位职责
2014/03/07 职场文书
大二学习计划书范文
2014/04/27 职场文书
我的理想演讲稿
2014/04/30 职场文书
单位委托书怎么写
2014/09/21 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
2014年工程师工作总结
2014/11/25 职场文书
病假证明模板
2015/06/19 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书