web-dev-qa-db-fra.com

Comment installer PHP extensions sur nginx?

J'ai récemment découvert NginX et j'ai décidé de l'essayer sur mon serveur. J'ai NginX en cours d'exécution et capable de servir PHP et des fichiers HTML. Mais maintenant, je veux essayer d'installer Drupal. En essayant de l'installer et de vérifier les exigences, je suis arrêté par une exigence.

Extensions PHP désactivées

Drupal requiert que vous activiez les extensions PHP dans la liste suivante (voir la page de configuration système requise pour plus d'informations):

D.ieu

J'ai essayé d'installer Gd en faisant apt-get install php5-Gd, et il indique qu'il est déjà installé. J'ai donc créé un fichier phpinfo() et vérifié si Gd était activé et que je ne pouvais pas le trouver. Est-ce que cela a à voir avec NginX ou PHP? Que dois-je faire pour résoudre ce problème?

14
samwell

Puisque vous utilisez Nginx, cela signifie que vous utilisez PHP avec PHP-FPM. 

Après avoir installé des éléments, vous devez: 

Sudo /etc/init.d/php-fpm restart 

ou 

service php5-fpm restart

dans les nouvelles versions d'ubuntu

de sorte que PHP récupère les nouvelles extensions.

28
Xeoncross

Pour moi à l'avenir si j'oublie ça. 

Si vous avez manipulé /etc/php/fpm, vous avez peut-être perdu accidentellement le lien symbolique vers conf.d, ce qui signifie que les fichiers de chargement Gd et PDO ne seront pas démarrés avec FPM.

Ce sera un problème si vous utilisez uniquement la configuration de base fournie avec PHP5-FPM. Si vous avez une configuration personnalisée, vous pouvez inclure les fichiers à un endroit différent.

Solution: recréez le sym-link.

cd /etc/php5/fpm
Sudo ln -s /etc/php5/conf.d /etc/php5/fpm/conf.d
4
Dominic Woodman

Si la configuration de votre serveur Web est en ordre, installez uniquement l'extension php Gd et redémarrez l'interpréteur de scripts php et le serveur Web.

Sudo apt-get install php5-Gd
Sudo /etc/init.d/php-fastcgi stop
Sudo /etc/init.d/php-fastcgi start
Sudo /etc/init.d/nginx stop
Sudo /etc/init.d/nginx start

Voici un excellent tutoriel sur LEMP http://library.linode.com/web-servers/nginx/php-fastcgi/ubuntu-10.04-lucid

3
augusto

Les extensions PHP ne concernent que PHP. Votre choix de serveur Web (Apache, nginx, etc.) ne les affecte pas. Très probablement, vous devez simplement activer l'extension Gd. Si vous êtes sur Ubuntu, vérifiez le dossier /etc/php5/conf.d et ajoutez un fichier Gd.ini avec la ligne suivante:

extension=Gd.so
2
Jacob Fike

si vous utilisez centos 7 et que vous ne trouvez pas /etc/init.d/php-fpm, essayez systemctl restart php-fpm, cela a fonctionné pour moi.

0
Lee Void

J'ai rencontré le même problème en faisant Sudo apt-get install php5-Gd au travail. La sortie de la console a suggéré de faire Sudo apt-get update. Juste mise à jour de base sur tous vos paquets.

Après la mise à jour, j'ai lancé Sudo apt-get instal php5-Gd et tout ce travail a été difficile, y compris le redémarrage de php5-fpm et l'installation correcte de tous les éléments intermédiaires.

0
Keeprock