解决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初学者头疼问题总结
Jul 08 PHP
php 一元分词算法
Nov 30 PHP
PHP漏洞全解(详细介绍)
Nov 13 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
php遍历类中包含的所有元素的方法
May 12 PHP
yii2.0实现验证用户名与邮箱功能
Dec 22 PHP
微信支付开发订单查询实例
Jul 12 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
Mar 02 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 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函数serialize()与unserialize()的使用方法
2014/08/19 PHP
jQuery 常见学习网站与参考书
2009/11/09 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
Python中实现对list做减法操作介绍
2015/01/09 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
python+pygame简单画板实现代码实例
2017/12/13 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
Linux中如何用命令创建目录
2015/01/12 面试题
电大自我鉴定范文
2013/10/01 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
三字经教学反思
2014/04/26 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
情况说明书怎么写
2015/10/08 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python