Solution au problème selon lequel l'installation de l'extension php ne prend pas effet : 1. Spécifiez le fichier php.ini pour démarrer le service php-fpm ; 2. Vérifiez et modifiez le fichier php.ini, puis redémarrez ; le service php-fpm.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
php ne peut pas redémarrer après l'installation le module d'extension Raisons de l'effet et solutions
Dans l'environnement d'exploitation et de maintenance de lnmp, nous constatons souvent que certains modules d'extension dépendants de PHP ne sont pas installés, ce qui nécessite l'ajout ultérieur de ces modules d'extension. Une fois les extensions installées et configurées, vous constaterez souvent qu'après le redémarrage du service php-fpm, ces extensions ne sont pas réellement chargées ! Voici un exemple pour illustrer :
Exemple d'environnement :
Chemin de stockage du package d'installation PHP : /data/software/php-5.6.10.tar.gz
Répertoire d'installation 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
Utilisez la commande php -m et constatez que les extensions bcmath et gettest sont manquantes
[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 ~]#
Commencez maintenant à installer les extensions bcmatn et gettest
Installer l'extension 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 .......
Après une compilation réussie, un répertoire
Installing shared extensions: /data/php/lib/php/extensions/no-debug-non-zts-20131226
Installer l'extension gettext s'affichera
[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 .......
vous indiquera un répertoire après une compilation réussie [Étude recommandée : "Tutoriel vidéo PHP"]
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
Utilisation totale 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
Configurer 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
Redémarrer php-fpm
[root@zabbix ~]# /etc/init.d/php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
puis vérifier à nouveau si les extensions bcmath et gettext sont installées et prennent effet ?
[root@zabbix ~]# php -m|grep bcmath [root@zabbix ~]# php -m|grep gettext [root@zabbix ~]#
J'ai découvert que ça ne fonctionnait pas ! pourquoi! ?
C'est parce que php.ini n'a pas été spécifié au démarrage de php-fpm, donc il n'a jamais pris effet !
[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
Solution :
1) Spécifiez le fichier php.ini pour démarrer le service 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 ) Si après avoir démarré ce qui précède, l'extension php installée ne prend toujours pas effet ! Ensuite il se peut que le fichier php.ini ne soit pas placé dans le bon chemin (ici j'agrandis directement le répertoire etc de 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
Puis redémarrez le service 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 ~]#
Vérifiez enfin à nouveau si les extensions bcmath et gettext ont pris effet ?
[root@zabbix ~]# php -m|grep bcmath bcmath [root@zabbix ~]# php -m|grep gettext gettext [root@zabbix ~]#
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!