解決php擴(kuò)展安裝不生效問(wèn)題
php安裝擴(kuò)展模塊后,重啟不生效的原因及解決辦法
在lnmp運(yùn)維環(huán)境中,我們經(jīng)常會(huì)碰到有些php依賴的擴(kuò)展模塊沒(méi)有安裝,這就需要后續(xù)添加這些擴(kuò)展模塊。在擴(kuò)展被安裝配置后,往往會(huì)發(fā)現(xiàn)php-fpm服務(wù)重啟后,這些擴(kuò)展并沒(méi)有真正加載進(jìn)去!下面就以一個(gè)示例進(jìn)行說(shuō)明:
示例環(huán)境:
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命令,發(fā)現(xiàn)少了bcmath和gettest擴(kuò)展
[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 ~]#
現(xiàn)在開(kāi)始安裝bcmatn和gettest擴(kuò)展
安裝bcmath擴(kuò)展
[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 .......
編譯成功之后會(huì)告訴你一個(gè)目錄
Installing shared extensions: /data/php/lib/php/extensions/no-debug-non-zts-20131226
安裝gettext擴(kuò)展
[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 .......
編譯成功之后會(huì)告訴你一個(gè)目錄
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擴(kuò)展安裝后,是否生效?
[root@zabbix ~]# php -m|grep bcmath [root@zabbix ~]# php -m|grep gettext [root@zabbix ~]#
發(fā)現(xiàn)并沒(méi)有生效! why???
這是因?yàn)閜hp-fpm啟動(dòng)時(shí),沒(méi)指定php.ini,所以一直都沒(méi)生效!
[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文件來(lái)啟動(dòng)php-fpm服務(wù)
[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)要是上面啟動(dòng)后,安裝的php擴(kuò)展還是沒(méi)有生效!那就可能是php.ini文件沒(méi)有放對(duì)路徑(這里我是直接放大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服務(wù)即可!
[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擴(kuò)展有沒(méi)有生效?
[root@zabbix ~]# php -m|grep bcmath bcmath [root@zabbix ~]# php -m|grep gettext gettext [root@zabbix ~]#
總結(jié)
以上所述是小編給大家介紹的解決php擴(kuò)展安裝不生效問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置的示例教程詳解
- Ubuntu18.04系統(tǒng)安裝、配置Redis及phpredis擴(kuò)展操作詳解
- linux下php安裝xml擴(kuò)展的詳細(xì)步驟
- Mac下關(guān)于PHP環(huán)境和擴(kuò)展的安裝詳解
- mac pecl 安裝php7.1擴(kuò)展教程
- Linux下安裝PHP curl擴(kuò)展的方法詳解
- CentOS7安裝PHP7 Redis擴(kuò)展的方法步驟
- PHP安裝memcache擴(kuò)展的步驟講解
- PHP安裝BCMath擴(kuò)展的方法
- PHP擴(kuò)展安裝方法步驟解析
相關(guān)文章
PHP上傳目錄禁止執(zhí)行php文件實(shí)例講解
這篇文章主要介紹了PHP上傳目錄禁止執(zhí)行php文件實(shí)例講解,這個(gè)是比較實(shí)用的防止惡意攻擊的方法,有需要的同學(xué)可以學(xué)習(xí)下2021-03-03Symfony2針對(duì)輸入時(shí)間進(jìn)行查詢的方法分析
這篇文章主要介紹了Symfony2針對(duì)輸入時(shí)間進(jìn)行查詢的方法,結(jié)合實(shí)例形式分析了Symfony2針對(duì)mysql及MongoDB的輸入時(shí)間進(jìn)行轉(zhuǎn)換與查詢的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06詳解thinkphp+redis+隊(duì)列的實(shí)現(xiàn)代碼
本篇文章主要介紹了thinkphp+redis+隊(duì)列的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08CI配置多數(shù)據(jù)庫(kù)訪問(wèn)的方法
這篇文章主要介紹了CI配置多數(shù)據(jù)庫(kù)訪問(wèn)的方法,結(jié)合實(shí)例形式分析了CI框架數(shù)據(jù)庫(kù)配置與使用的相關(guān)技巧,需要的朋友可以參考下2016-03-03