it-swarm.com.de

Wie installiert man PHP Erweiterungen auf Nginx?

Ich habe kürzlich NginX entdeckt und beschlossen, es auf meinem Server auszuprobieren. Ich habe NginX ausgeführt und kann PHP und HTML-Dateien bereitstellen. Aber jetzt möchte ich versuchen, Drupal zu installieren. Beim Versuch, es zu installieren und die Anforderungen zu überprüfen, wird ich von einer Anforderung gestoppt.

PHP-Erweiterungen deaktiviert

In Drupal müssen Sie die PHP -Erweiterungen in der folgenden Liste aktivieren (weitere Informationen finden Sie auf der Seite mit den Systemanforderungen):

Gd

Ich habe versucht, Gd mit apt-get install php5-Gd zu installieren, und es heißt, es ist bereits installiert. Also habe ich eine phpinfo()-Datei erstellt und überprüft, ob Gd aktiviert ist und ich sie nicht finden konnte. Hat das mit NginX oder PHP zu tun? Was mache ich, um das zu beheben?

14
samwell

Da Sie Nginx verwenden, müssen Sie PHP mit PHP-FPM ausführen. 

Nachdem Sie Sachen installiert haben, müssen Sie: 

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

oder 

service php5-fpm restart

in neueren Ubuntu-Versionen

so dass PHP die neuen Erweiterungen übernimmt.

28
Xeoncross

Für die Zukunft mich, wenn ich das vergesse. 

Wenn Sie mit /etc/php/fpm herumgespielt haben, haben Sie möglicherweise versehentlich den Symlink zu conf.d verloren. Dies bedeutet, dass die Gd- und PDO-Ladedateien nicht mit FPM gebootet werden.

Dies ist ein Problem, wenn Sie nur die grundlegende Konfiguration verwenden, die mit PHP5-FPM geliefert wird. Wenn Sie eine benutzerdefinierte Konfiguration haben, können Sie die Dateien an einer anderen Stelle einfügen.

Lösung: Erstellen Sie den Sym-Link neu.

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

Wenn Ihr Webserver-Setup in Ordnung ist, installieren Sie nur die PHP-Gd-Erweiterung und starten Sie den PHP-Skriptinterpreter und den Webserver erneut.

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

Hier ist ein großartiges LEMP-Tutorial http://library.linode.com/web-servers/nginx/php-fastcgi/ubuntu-10.04-lucid

3
augusto

PHP-Erweiterungen haben nur mit PHP zu tun. Ihre Wahl des Webservers (Apache, Nginx usw.) hat keinen Einfluss auf sie. Wahrscheinlich müssen Sie nur die Gd-Erweiterung aktivieren. Wenn Sie mit Ubuntu arbeiten, überprüfen Sie den Ordner /etc/php5/conf.d und fügen Sie eine Gd.ini mit der folgenden Zeile hinzu:

extension=Gd.so
2
Jacob Fike

wenn Sie Centos 7 verwenden und /etc/init.d/php-fpm nicht finden können, können Sie systemctl restart php-fpm versuchen, das für mich funktioniert hat.

0
Lee Void

Ich hatte das gleiche Problem, dass Sudo apt-get install php5-Gd funktioniert. Konsolenausgabe vorgeschlagen, Sudo apt-get update auszuführen. Einfach grundlegende Aktualisierung für alle Ihre Pakete.

Nach dem Update habe ich Sudo apt-get instal php5-Gd ausgeführt und es hat mir sehr schwer gefallen, einschließlich des Neustarts von php5-fpm und der korrekten Installation alles dazwischen.

0
Keeprock