Risposte:
Nota : anteporre sudo
se non root
Utilizzo diretto degli script SysV Init:
/etc/init.d/php-fpm restart # typical
/etc/init.d/php5-fpm restart # debian-style
/etc/init.d/php7.0-fpm restart # debian-style PHP 7
Utilizzo dello script del wrapper di servizio
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Utilizzando Upstart (ad es. Ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
Utilizzando systemd (server più recenti):
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
O qualunque sia l'equivalente sul tuo sistema.
brew services restart php56
(se ricevi un errore per nessuna formula disponibile, prova una versione diversa, ad esempio php5 o php55). Se non hai installato brew services, dovrebbe installarlo per te al primo avvio.
service php-fcgi-mydomain-com restart
e ho dovuto ripeterlo per ogni dominio dai siti abilitati
systemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
Per Mac OS X, questo è quello che faccio:
Crea una sceneggiatura /usr/local/etc/php/fpm-restart
:
#!/bin/sh
echo "Stopping php-fpm..."
launchctl unload -w ~/Library/LaunchAgents/homebrew-php*.plist
echo "Starting php-fpm..."
launchctl load -w ~/Library/LaunchAgents/homebrew-php*.plist
echo "php-fpm restarted"
exit 0
Poi:
chmod ug+x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart
assicurati che / usr / local / sbin sia nel tuo $ PATH
quindi basta chiamarlo dal terminale fpm-restart e BOOM !!
homebrew.mxcl.php*.plist
se non funziona
Di solito, service php5-fpm restart
andrà bene, su una distribuzione aggiornata.
Ma a volte fallisce, te lo dice restart: Unknown instance:
(o simili).
Ora, se non ti piace riavviare il tuo server, basta uccidere i processi e ricominciare (modificato da qui):
$ sudo pkill php5-fpm; sudo service php5-fpm start
stop: Unknown instance:
)
Questo dovrebbe funzionare:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
killall php-fpm
php-fpm --prefix /usr/local
, creando alcune directory sotto quella di cui ha bisogno, e come ha affermato @Keeth pkill -USR2 -o php-fpm
, controllando pgrep -l fpm
e i PID cambiano davvero! Non avevo file o servizi di plist da sfruttare menzionati da alcune delle altre risposte.
Per Mac OSX ha brew services restart php56
funzionato per me.
Ho avuto un problema con il riavvio di php7-fpm, perché non sapevo come si chiamasse esattamente il servizio. Questa funzione mi ha dato la risposta:
service --status-all
Il servizio php7-fpm nel mio Ubuntu è stato chiamato php7.0-fpm
, quindi ho fatto:
service php7.0-fpm restart
service --status-all
php-fpm si riavvierà se si invia un segnale USR2 al processo principale:
sudo kill -USR2 php-fpm_main_process_id
Quindi dobbiamo solo istruire php-fpm a registrare il suo pid da qualche parte. In questo esempio, suppongo che tu voglia salvarlo su /etc/private/php-fpm.pid
, e che php-fpm gira come utente _php. Innanzitutto, aggiungi questa linea al file di configurazione:
pid = /etc/php-fpm.pid
Quindi crea il file /etc/php-fpm.pid
e assicurati che php-fpm disponga dell'autorizzazione per modificarlo:
$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid
Ora, la prossima volta che php-fpm si avvia, sarai in grado di ottenere il suo pid e riavviarlo in questo modo:
$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815
Oppure puoi combinarli in un unico comando:
$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`
pkill ...
risposta e il commento di @ dialt0ne e @ Keeth sopra; più breve e più semplice.
Per consentire allo script di riavvio PHP-FPM di funzionare, è necessario utilizzare specificare un file PID nel file php-fpm.conf. vale a dire
pid = /var/run/php-fpm/php-fpm.pid
Il valore predefinito per pid in php-fpm.conf è nulla, il che significa che non è possibile creare un file PID, il che significa che lo script di riavvio non può dire quale processo terminare durante il riavvio.
Su CentOS 7
sudo systemctl enable php-fpm // Just incase is disabled. Also ensures it starts automatically with the server
sudo systemctl start php-fpm // Start the service
sudo systemctl stop php-fpm // Stop the service
sudo systemctl status php-fpm // View status
Su RedHat / CentOS 7 usando PHP 7 da softwarecollections.org
service rh-php70-php-fpm start
service rh-php70-php-fpm stop
service rh-php70-php-fpm reload
service rh-php70-php-fpm restart
service rh-php70-php-fpm status
o se stai usando systemctl:
systemctl start rh-php70-php-fpm
systemctl stop rh-php70-php-fpm
systemctl reload rh-php70-php-fpm
systemctl restart rh-php70-php-fpm
systemctl status rh-php70-php-fpm
Il modo più semplice per trovare il nome del servizio php-fpm è cercarlo:
systemctl -l --type service --all | grep fpm
systemctl list-units *fpm*
Su Windows:
Servizi aperti nella console di gestione:
Start -> Run -> "services.msc" -> OK
Seleziona php-fpm
dalla lista
Per le vecchie versioni di debian & ubuntu - php 5.6 lo sarà
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
Per elencare i servizi di systemd su CentOS / RHEL 7.x + utilizzare
systemctl
Per elencare tutti i servizi:
systemctl list-unit-files
Dove puoi trovare il servizio chiamato * php-fpm * copia il nome del servizio ed esegui il comando seguente
riavvio di systemctl ea-php72-php-fpm.service
NOTA: ea-php72-php-fpm.service user il tuo nome di servizio
Un altro metodo per MaxOS
Apri ActivityMonitor, cerca php-fpm, trova il pid.
Apri terminale, usa kill [pid]
per fermare php-fpm
Quindi php-fpm
sul terminale per avviarlo.
Se ci sono informazioni sull'errore che 127.0.0.1:9000 già in uso, ignoralo.
Aggiorna la pagina Nginx, dovrebbe vedere gli effetti delle modifiche a php.ini.
php-fpm
sarà molto probabilmente eseguito sotto l'utente sbagliato; ignorare i messaggi di errore non è mai una buona idea.
which php-fpm
dà/usr/local/sbin/php-fpm
.