Antworten:
Hinweis : sudo
Wenn nicht root, voranstellen
SysV Init-Skripte direkt verwenden:
/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
Verwenden des Service Wrapper-Skripts
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Verwenden von Upstart (zB Ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
Verwenden von systemd (neuere Server):
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
Oder was auch immer das Äquivalent auf Ihrem System ist.
brew services restart php56
(Wenn Sie eine Fehlermeldung zu einer nicht verfügbaren Formel erhalten, versuchen Sie es mit einer anderen Version, z. B. php5 oder php55). Wenn Sie keine Brauservices installiert haben, sollte diese beim ersten Start für Sie installiert werden.
service php-fcgi-mydomain-com restart
Und ich musste es für jede Domain von Sites-fähigen wiederholen
systemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
Für Mac OS X ist dies das, was ich mache:
Machen Sie ein Skript /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
Dann:
chmod ug+x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart
Stellen Sie sicher, dass sich / usr / local / sbin in Ihrem $ PATH befindet
dann ruf es einfach vom terminal fpm-restart und BOOM !!
homebrew.mxcl.php*.plist
wenn es nicht funktioniert
Normalerweise reicht service php5-fpm restart
eine aktuelle Verteilung aus.
Aber manchmal versagt es und sagt es dir restart: Unknown instance:
(oder so).
Wenn Sie Ihren Server nicht neu starten möchten, beenden Sie einfach die Prozesse und starten Sie neu (ab hier bearbeitet):
$ sudo pkill php5-fpm; sudo service php5-fpm start
stop: Unknown instance:
)
Das sollte funktionieren:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
killall php-fpm
php-fpm --prefix /usr/local
, mache einige Verzeichnisse unter dem, den es braucht, und wie @Keeth angegeben hat pkill -USR2 -o php-fpm
, pgrep -l fpm
prüfe ich mit , und die PIDs ändern sich tatsächlich! Ich hatte keine plist-Dateien oder -Dienste, die ich nutzen könnte, um einige der anderen Antworten zu nutzen.
Für Mac OSX brew services restart php56
hat es bei mir geklappt .
Ich hatte ein Problem beim Neustart von php7-fpm, weil ich nicht wusste, wie genau der Dienst benannt wurde. Diese Funktion gab mir die Antwort:
service --status-all
Der php7-fpm-Dienst in meinem Ubuntu wurde aufgerufen php7.0-fpm
, also habe ich Folgendes getan:
service php7.0-fpm restart
service --status-all
php-fpm startet neu, wenn Sie ein USR2-Signal an den Hauptprozess senden:
sudo kill -USR2 php-fpm_main_process_id
Also müssen wir php-fpm nur anweisen, seine PID irgendwo aufzuzeichnen. In diesem Beispiel gehe ich davon aus, dass Sie es unter speichern möchten /etc/private/php-fpm.pid
und dass php-fpm als Benutzer _php ausgeführt wird. Fügen Sie zuerst diese Zeile zur Konfigurationsdatei hinzu:
pid = /etc/php-fpm.pid
Dann erstelle die Datei /etc/php-fpm.pid
und stelle sicher, dass php-fpm die Berechtigung hat, sie zu ändern:
$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid
Wenn Sie das nächste Mal php-fpm starten, können Sie die PID abrufen und es wie folgt neu starten:
$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815
Oder Sie können diese in einem einzigen Befehl kombinieren:
$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`
pkill ...
Antwort & Kommentar oben mehr; kürzer und einfacher.
Damit das PHP-FPM-Neustart-Skript funktioniert, müssen Sie eine PID-Datei in Ihrer php-fpm.conf-Datei angeben. dh
pid = /var/run/php-fpm/php-fpm.pid
Der Standardwert für pid in der Datei php-fpm.conf ist nothing. Dies bedeutet, dass keine PID-Datei erstellt wird. Das Neustartskript kann also nicht feststellen, welcher Prozess während des Neustarts beendet werden soll.
Unter 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
Unter RedHat / CentOS 7 mit PHP 7 von 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
oder wenn Sie systemctl verwenden:
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
Der einfachste Weg, den Namen des PHP-FPM-Dienstes zu finden, besteht darin, danach zu suchen:
systemctl -l --type service --all | grep fpm
systemctl list-units *fpm*
Unter Windows:
Öffnen Sie Dienste in der Verwaltungskonsole:
Start -> Run -> "services.msc" -> OK
Wählen Sie php-fpm
aus der Liste
Für alte Versionen von debian & ubuntu - php 5.6 wird es sein
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
Zum Auflisten von Systemd-Diensten unter CentOS / RHEL 7.x +
systemctl
So listen Sie alle Dienste auf:
systemctl list-unit-files
Hier finden Sie den Dienst mit dem Namen * php-fpm * copy service name und führen den folgenden Befehl aus
systemctl starte ea-php72-php-fpm.service neu
HINWEIS: ea-php72-php-fpm.service Benutzer Ihren Dienstnamen
Eine andere Methode für MaxOS
Öffne ActivityMonitor, suche php-fpm, finde die pid.
Terminal öffnen, kill [pid]
mit PHP-FPM stoppen
Dann php-fpm
am Terminal starten.
Wenn es Fehlerinformationen gibt, die 127.0.0.1:9000 bereits verwenden, ignorieren Sie diese einfach.
Aktualisieren Sie die Nginx-Seite, damit die Änderungen in der php.ini wirksam werden.
php-fpm
ausführen, wird es höchstwahrscheinlich unter dem falschen Benutzer ausgeführt. Das Ignorieren von Fehlermeldungen ist niemals eine gute Idee.
which php-fpm
gibt/usr/local/sbin/php-fpm
.