解决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实现采集程序原理和简单示例代码
Mar 18 PHP
frename PHP 灵活文件命名函数 frename
Sep 09 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
不使用php api函数实现数组的交换排序示例
Apr 13 PHP
详解PHP对数组的定义以及数组的创建方法
Nov 27 PHP
linux下php上传文件注意事项
Jun 11 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
PHP数组基本用法与知识点总结
Jun 02 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 Hash函数,增强密码安全
2011/02/25 PHP
简单实现限定phpmyadmin访问ip的方法
2013/03/05 PHP
PHP连接SQLServer2005的方法
2015/01/27 PHP
wampserver改变默认网站目录的办法
2015/08/05 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python模块WSGI使用详解
2018/02/02 Python
20个常用Python运维库和模块
2018/02/12 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
简单了解Django ContentType内置组件
2019/07/23 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
有针对性的求职自荐信
2013/11/14 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
访谈节目策划方案
2014/05/15 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫