Muszę ponownie załadować plik php.ini i nie ma nic w oknie dialogowym pomocy na temat jego ponownego uruchomienia.
184
Uwaga : dodaj, sudo
jeśli nie root
Korzystanie bezpośrednio ze skryptów 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
Korzystanie ze skryptu opakowania usługi
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Korzystanie z Upstart (np. Ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
Za pomocą systemd (nowsze serwery):
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
Lub cokolwiek równoważnego jest w twoim systemie.
which php-fpm
daje/usr/local/sbin/php-fpm
.brew services restart php56
(jeśli pojawi się błąd związany z brakiem dostępnej formuły, wypróbuj inną wersję, np. php5 lub php55). Jeśli nie masz zainstalowanych usług browarniczych, powinien zainstalować je dla Ciebie przy pierwszym uruchomieniu.service php-fcgi-mydomain-com restart
stało : I musiałem to powtórzyć dla każdej domeny z włączonymi witrynamisystemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
W Mac OS X robię to:
Stwórz skrypt
/usr/local/etc/php/fpm-restart
:Następnie:
upewnij się, że / usr / local / sbin znajduje się w $ PATH
następnie po prostu wywołaj to z terminala fpm-restart i BOOM !!
źródło
homebrew.mxcl.php*.plist
jeśli to nie zadziałaZazwyczaj
service php5-fpm restart
będzie dobrze, na aktualnej dystrybucji.Ale czasami zawodzi, mówiąc ci
restart: Unknown instance:
(lub coś takiego).Teraz, jeśli nie chcesz ponownie uruchamiać serwera, po prostu zabij procesy i zacznij od nowa (edytowane od tego momentu):
źródło
stop: Unknown instance:
)To powinno działać:
źródło
killall php-fpm
php-fpm --prefix /usr/local
tworzenia niektórych katalogów w ramach tego, którego potrzebuje, a jak stwierdził @Keethpkill -USR2 -o php-fpm
, sprawdzanie za pomocąpgrep -l fpm
i identyfikatory PID naprawdę się zmieniają! Nie miałem plików plist ani usług, z których można by skorzystać, o których wspominały niektóre inne odpowiedzi.Na Mac OSX
brew services restart php56
działało dla mnie.źródło
Miałem problem z ponownym uruchomieniem php7-fpm, ponieważ nie wiedziałem, jak dokładnie została nazwana ta usługa. Ta funkcja dała mi odpowiedź:
service --status-all
Wywołano usługę php7-fpm w moim Ubuntu
php7.0-fpm
, więc zrobiłem:service php7.0-fpm restart
źródło
service --status-all
php-fpm uruchomi się ponownie, jeśli wyślesz sygnał USR2 do głównego procesu:
Musimy więc po prostu poinstruować php-fpm, aby gdzieś nagrał swój pid. W tym przykładzie
/etc/private/php-fpm.pid
założę, że chcesz go zapisać , i że php-fpm działa jako użytkownik _php. Najpierw dodaj ten wiersz do pliku konfiguracyjnego:Następnie utwórz plik
/etc/php-fpm.pid
i upewnij się, że php-fpm ma uprawnienia do jego modyfikacji:Teraz następnym razem, gdy uruchomi się php-fpm, będziesz mógł uzyskać jego pid i zrestartować go w następujący sposób:
Lub możesz połączyć je w jedno polecenie:
źródło
pkill ...
odpowiedź i komentarz @ dialt0ne i @ Keeth powyżej; krótszy i prostszy.Dla mnie właśnie zaktualizowałem przez apt, a restart usługi nie działał. Skończyło się na tym, że musiałem zabić istniejące procesy, zanim zadziałało: killall php5-fpm
źródło
Aby zezwolić na działanie skryptu restartu PHP-FPM, musisz użyć pliku PID w pliku php-fpm.conf. to znaczy
Domyślna wartość dla pid w php-fpm.conf to nic, co oznacza, że nie można utworzyć pliku PID, co oznacza, że skrypt restartu nie może powiedzieć, który proces zakończyć podczas restartu.
źródło
Na CentOS 7
źródło
Na Ubuntu 16 z php 5.6 fpm.
źródło
Na RedHat / CentOS 7 przy użyciu PHP 7 z softwarecollections.org
lub jeśli używasz systemctl:
źródło
Najprostszym sposobem na znalezienie nazwy usługi php-fpm jest jej wyszukanie:
źródło
systemctl list-units *fpm*
W systemie Windows:
Otwórz usługi w konsoli zarządzania:
Wybierz
php-fpm
z listyźródło
Dla starych wersji debian i ubuntu - php 5.6
źródło
W Alpine z nginx działa to tutaj:
Aby zabić wszystkie procesy php-fpm7:
kill $(ps -o pid,comm | grep php-fpm7 | awk '{print $1}')
Aby uruchomić php-fpm7:
php-fpm7
źródło
Aby wyświetlić listę usług systemowych na CentOS / RHEL 7.x + użyj
Aby wyświetlić listę wszystkich usług:
Gdzie można znaleźć usługę o nazwie * php-fpm * skopiuj nazwę usługi i uruchom następujące polecenie
UWAGA: ea-php72-php-fpm.service użytkownik nazwa usługi
źródło
Kolejna metoda dla MaxOS
Otwórz ActivityMonitor, wyszukaj php-fpm, znajdź pid.
Otwórz terminal, użyj,
kill [pid]
aby zatrzymać php-fpmNastępnie
php-fpm
na terminalu, aby go uruchomić.Jeśli istnieją informacje o błędzie, które 127.0.0.1:9000 są już w użyciu, po prostu zignoruj to.
Odśwież stronę Nginx, zobaczysz, że zmiany w php.ini zaczną działać.
źródło
php-fpm
najprawdopodobniej uruchomi go pod niewłaściwym użytkownikiem; ignorowanie komunikatów o błędach nigdy nie jest dobrym pomysłem.