zoukankan      html  css  js  c++  java
  • 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 ~]# 
  • 相关阅读:
    171 01 Android 零基础入门 03 Java常用工具类02 Java包装类 01 包装类简介 01 Java包装类内容简介
    170 01 Android 零基础入门 03 Java常用工具类01 Java异常 08 Java异常总结 01 异常总结
    169 01 Android 零基础入门 03 Java常用工具类01 Java异常 07 异常链 01 异常链简介
    168 01 Android 零基础入门 03 Java常用工具类01 Java异常 06 自定义异常 01 自定义异常类
    167 01 Android 零基础入门 03 Java常用工具类01 Java异常 05 使用throw和throws实现异常处理 02 使用throw抛出异常对象
    166 01 Android 零基础入门 03 Java常用工具类01 Java异常 05 使用throw和throws实现异常处理 01 使用throws声明异常类型
    165 01 Android 零基础入门 03 Java常用工具类01 Java异常 04 使用try…catch…finally实现异常处理 05 return关键字在异常处理中的使用
    DevExpress WPF v20.2版本亮点放送:全新升级的PDF Viewer
    界面控件DevExpress使用教程:Dashboard – 自定义导出
    DevExpress WinForms帮助文档:表单控件
  • 原文地址:https://www.cnblogs.com/kevingrace/p/9784887.html
Copyright © 2011-2022 走看看