解决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 相关文章推荐
PHP安全配置
Dec 06 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
php中用数组的方法设置cookies
Apr 21 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
PHP实现根据浏览器跳转不同语言页面代码
Aug 02 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
PHP SOCKET编程详解
May 22 PHP
微信 getAccessToken方法详解及实例
Nov 23 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
在laravel中实现事务回滚的方法
Oct 10 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 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 无限级缓存的类的扩展
2009/03/16 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
使用JavaScript进行表单校验功能
2017/08/01 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
python client使用http post 到server端的代码
2013/02/10 Python
用Python制作简单的钢琴程序的教程
2015/04/01 Python
python简单实现基数排序算法
2015/05/16 Python
Python常用的爬虫技巧总结
2016/03/28 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
TensorFlow实现Logistic回归
2018/09/07 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
苹果Mac升级:MacSales.com
2017/11/20 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
小学生作文评语
2014/04/18 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
2015年暑假工作总结
2015/07/13 职场文书
办公室主任岗位竞聘书
2015/09/15 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python
基于Python实现将列表数据生成折线图
2022/03/23 Python