Yanıtlar:
Not : sudo
root değilse hazırla
SysV Init komut dosyalarını doğrudan kullanma:
/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
Hizmet sarmalayıcı komut dosyasını kullanma
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Upstart'ı kullanma (örn. Ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
Systemd (daha yeni sunucular) kullanarak:
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
Veya sisteminizde eşdeğeri varsa.
brew services restart php56
(kullanılabilir formül hakkında bir hata yoksa, php5 veya php55 gibi farklı bir sürümü deneyin). Brew hizmetleri kurulmamışsa, ilk çalıştırmada sizin için yüklemelidir.
service php-fcgi-mydomain-com restart
Ve sitelerin etkin olduğu her alan için tekrarlamak zorunda kaldım
systemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
Mac OS X için yaptığım şey şu:
Bir komut dosyası yap /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
Sonra:
chmod ug+x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart
/ usr / local / sbin dosyasının $ PATH’nizde olduğundan emin olun
o zaman sadece fpm-restart terminalinden ve BOOM !!
homebrew.mxcl.php*.plist
işe yaramazsa
Genellikle, service php5-fpm restart
güncel bir dağıtımla para cezası verilir.
Ama bazen, size restart: Unknown instance:
(veya böyle) söyleyerek başarısız olur .
Şimdi, sunucunuzu yeniden başlatmak istemezseniz, işlemleri sonlandırın ve yeni bir başlangıç yapın (buradan itibaren düzenlenir):
$ sudo pkill php5-fpm; sudo service php5-fpm start
stop: Unknown instance:
)
Bu çalışmalı:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
killall php-fpm
php-fpm --prefix /usr/local
dizini kullanıyorum , ihtiyacı olanın altında bazı dizinler yapıyorum ve @Keeth'in dediği gibi pkill -USR2 -o php-fpm
, kontrol ediyor pgrep -l fpm
ve PID'ler de değişiyor! Diğer bazı cevapların bahsettiği avantajlardan hiçbiri hoşuna gitmedi.
Mac için OSX brew services restart php56
benim için çalıştı.
Php7-fpm'yi yeniden başlatırken bir sorunla karşılaştım, çünkü tam olarak servisin nasıl adlandırıldığını bilmiyordum. Bu fonksiyon bana cevap verdi:
service --status-all
Ubuntu'daki php7-fpm servisi çağrıldı php7.0-fpm
, ben de yaptım:
service php7.0-fpm restart
service --status-all
Ana prosese USR2 sinyali gönderirseniz php-fpm yeniden başlatılır:
sudo kill -USR2 php-fpm_main_process_id
Bu yüzden php-fpm’ye parasını bir yere kaydetmesi talimatını vermeliyiz. Bu örnekte, kaydetmek istediğinizi varsayalım /etc/private/php-fpm.pid
ve php-fpm kullanıcısı _php kullanıcısı olarak çalışır. İlk önce bu satırı yapılandırma dosyasına ekleyin:
pid = /etc/php-fpm.pid
Sonra dosyayı oluşturun /etc/php-fpm.pid
ve php-fpm'nin dosyayı değiştirme izninin olduğundan emin olun:
$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid
Şimdi, bir dahaki sefere php-fpm başladığında, iadesini alabilecek ve şu şekilde yeniden başlatabileceksiniz:
$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815
Veya bunları tek bir komutta birleştirebilirsiniz:
$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`
pkill ...
cevabını ve yukarıdaki yorumunu beğeniyorum ; daha kısa ve daha basit.
PHP-FPM yeniden başlatma komut dosyasının çalışmasına izin vermek için php-fpm.conf dosyanızda bir PID dosyası kullanmanız gerekir. yani
pid = /var/run/php-fpm/php-fpm.pid
Php-fpm.conf dosyasındaki pid için varsayılan değer hiçbir şey değildir; bu, bir PID dosyası oluşturmamak anlamına gelir; bu, yeniden başlatma komut dosyasının yeniden başlatma sırasında hangi işlemin biteceğini söyleyemeyeceği anlamına gelir.
CentOS 7'de
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
RedHat / CentOS 7'de softwarecollections.org'dan PHP 7 kullanarak
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
ya da systemctl kullanıyorsanız:
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
Php-fpm hizmetinin adını bulmanın en kolay yolu onu aramaktır:
systemctl -l --type service --all | grep fpm
systemctl list-units *fpm*
Windows'ta:
Yönetim Konsolunda Hizmetleri Aç:
Start -> Run -> "services.msc" -> OK
Seçin php-fpm
listeden
Debian & ubuntu'nun eski versiyonları için - php 5.6
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
CentOS / RHEL 7.x + kullanımında sistem hizmetlerini listelemek için
systemctl
Tüm hizmetleri listelemek için:
systemctl list-unit-files
* Php-fpm * isimli servisi bulabileceğiniz servis adını kopyalayın ve aşağıdaki komutu çalıştırın.
systemctl yeniden başlat ea-php72-php-fpm.service
NOT: ea-php72-php-fpm.service kullanıcısı servis adınızı
MaxOS için başka bir yöntem
ActivityMonitor'u açın, php-fpm'de arama yapın, ödemeyi bulun.
Terminali aç, kill [pid]
php-fpm'yi durdurmak için kullan
Sonra php-fpm
başlatmak için terminalde.
127.0.0.1:9000 Zaten kullanımda olan hata bilgileri varsa, bunu görmezden gelin.
Nginx sayfasını yenile, php.ini değişikliklerinin etkili olduğunu görmelisin.
php-fpm
büyük olasılıkla yanlış kullanıcı altında çalışacaktır; Hata mesajlarını dikkate almamak asla iyi bir fikir değildir.
which php-fpm
verir/usr/local/sbin/php-fpm
.