Penyelesaian kepada masalah sambungan php tidak berkuat kuasa: 1. Tentukan fail php.ini untuk memulakan perkhidmatan php-fpm 2. Ubah suai laluan fail php.ini; perkhidmatan php-fpm.
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Apakah yang perlu saya lakukan jika sambungan php tidak berkuat kuasa?
Selesaikan masalah pemasangan sambungan php tidak berkuat kuasa
Selepas php memasang modul sambungan, sebab dan penyelesaian tidak berkuat kuasa selepas dimulakan semula
Dalam lnmp Dalam persekitaran operasi dan penyelenggaraan, kami sering mendapati bahawa beberapa modul sambungan yang bergantung pada PHP tidak dipasang, yang memerlukan penambahan modul sambungan ini kemudian. Selepas sambungan dipasang dan dikonfigurasikan, anda akan sering mendapati bahawa selepas perkhidmatan php-fpm dimulakan semula, sambungan ini sebenarnya tidak dimuatkan! Berikut ialah contoh untuk menggambarkan:
Contoh persekitaran:
Laluan storan pakej pemasangan PHP: /data/software/php-5.6.10.tar.gz
Direktori pemasangan 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
Gunakan arahan php -m dan mendapati sambungan bcmath dan gettest tiada
[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 ~]#
Sekarang mula memasang sambungan bcmatn dan gettest
Pasang sambungan 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 .......
Selepas penyusunan berjaya, anda akan diberitahu direktori
Installing shared extensions: /data/php/lib/php/extensions/no-debug-non-zts-20131226
Pemasangan Sambungan 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 .......
akan memberitahu anda direktori selepas penyusunan berjaya
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
Jumlah penggunaan 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
Konfigurasikan 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
Mulakan semula php-fpm
[root@zabbix ~]# /etc/init.d/php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
Kemudian semak semula sama ada sambungan bcmath dan gettext telah berkuat kuasa selepas pemasangan?
[root@zabbix ~]# php -m|grep bcmath [root@zabbix ~]# php -m|grep gettext [root@zabbix ~]#
Didapati bahawa ia tidak berkuat kuasa! Kenapa! ?
Ini kerana php.ini tidak dinyatakan semasa php-fpm dimulakan, jadi ia tidak pernah berkuat kuasa!
[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
Penyelesaian:
1) Tentukan fail php.ini untuk memulakan perkhidmatan 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) Jika selepas memulakan perkara di atas, sambungan php yang dipasang masih tidak berkuat kuasa! Maka mungkin fail php.ini tidak diletakkan di laluan yang betul (di sini saya terus membesarkan direktori etc php)
[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
dan kemudian mulakan semula perkhidmatan 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 ~]#
Akhirnya semak semula sama ada sambungan bcmath dan gettext telah berkuat kuasa?
[root@zabbix ~]# php -m|grep bcmath bcmath [root@zabbix ~]# php -m|grep gettext gettext [root@zabbix ~]#
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika sambungan php tidak berkuat kuasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!