2012-01-13 12 views
13

Recentemente ho scoperto NginX e ho deciso di provarlo sul mio server. Ho NginX in esecuzione e in grado di servire file PHP e HTML. Ma ora voglio provare a installare drupal. Quando cerco di installarlo e verificare i requisiti, sono fermato da un requisito.Come installare estensioni PHP su nginx?

estensioni PHP Disabilitato

Drupal richiede di abilitare le estensioni PHP nel seguente elenco (vedi la pagina dei requisiti di sistema per ulteriori informazioni):

gd

ho provato per installare gd facendo apt-get install php5-gd, e dice che è già installato. Così ho creato un file phpinfo() e controllato per vedere se gd era abilitato e non ero in grado di trovarlo. Questo ha a che fare con NginX o PHP? Cosa devo fare per risolvere questo problema?

risposta

27

Dal momento che si sta utilizzando Nginx - che deve significare in esecuzione PHP con PHP- FPM.

Dopo l'installazione di cose è necessario:

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

o

service php5-fpm restart 

nelle versioni più recenti di Ubuntu

in modo che PHP pickup le nuove estensioni.

+1

Anche io lavoro per me con una leggera modifica: 'sudo /etc/init.d/php5-fpm restart'. – Lekhnath

+6

'sudo service php5-fpm restart' funziona anche per me. – Lekhnath

+0

Con Fedora27, PHP7 - 'service php-fpm restart' ha funzionato per me. –

1

Le estensioni PHP hanno solo a che fare con PHP. La scelta del server web (apache, nginx, ecc.) Non ha alcun effetto su di essi. Molto probabilmente hai solo bisogno di abilitare l'estensione gd. Se siete su Ubuntu, controllare /etc/php5/conf.d cartella e aggiungere un gd.ini con la seguente riga:

extension=gd.so 
+0

questo mi ha salvato la giornata. Sto lavorando su arch linux LEMP setup e anche dopo aver installato pacman -S php-gd non funzionava. –

2

Se la configurazione del server Web è in ordine, installare solo l'estensione php gd e riavviare l'interprete php scripting e il server 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 

Ecco un tutorial LEMP http://library.linode.com/web-servers/nginx/php-fastcgi/ubuntu-10.04-lucid

3

Per me il futuro se ho dimenticato questo.

Se hai avuto problemi con /etc/php/fpm, potresti aver perso accidentalmente il collegamento simbolico a conf.d, il che significa che i file di caricamento di gd e PDO non verranno avviati con FPM.

Questo sarà un problema se si sta solo utilizzando la configurazione di base fornita con PHP5-FPM. Se hai una configurazione personalizzata puoi includere i file in un posto diverso.

Soluzione: Ricrea il collegamento simbolico.

cd /etc/php5/fpm 
sudo ln -s /etc/php5/conf.d /etc/php5/fpm/conf.d 
0

ho incontrato lo stesso problema con fare sudo apt-get install php5-gd al lavoro. Uscita console suggerita per fare sudo apt-get update. Semplice aggiornamento di base su tutti i tuoi pacchetti.

Dopo l'aggiornamento, eseguo sudo apt-get instal php5-gd e ha fatto tutto il lavoro pesante per me, incluso il riavvio di php5-fpm e l'installazione corretta di tutto il resto.

0

se si utilizza CentOS 7 e non è possibile trovare /etc/init.d/php-fpm, si può provare systemctl restart php-fpm, che ha funzionato per me.

Problemi correlati