जवाबों:
नोट : sudo
रूट नहीं तो प्रीपेंड करें
सीधे 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
सेवा आवरण लिपि का उपयोग करना
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
उपस्टार्ट का उपयोग करना (उदा ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
सिस्टमड (नए सर्वर) का उपयोग करना:
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
या आपके सिस्टम पर जो भी समकक्ष है।
brew services restart php56
(यदि आपको कोई उपलब्ध सूत्र के बारे में कोई त्रुटि मिलती है, तो एक अलग संस्करण आज़माएं जैसे कि php5 या php55)। यदि आपके पास काढ़ा सेवाएँ स्थापित नहीं हैं, तो इसे आपके लिए पहले रन पर स्थापित करना चाहिए।
service php-fcgi-mydomain-com restart
और मैं साइटों सक्षम से हर डोमेन के लिए यह दोहराने के लिए किया था
systemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
मैक ओएस एक्स के लिए, यह वही है जो मैं करता हूं:
एक स्क्रिप्ट बनाएं /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
फिर:
chmod ug+x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart
सुनिश्चित करें कि / usr / स्थानीय / sbin आपके $ पेट में है
तो बस टर्मिनल fpm-पुनरारंभ और बूम से इसे बुलाओ !!
homebrew.mxcl.php*.plist
अगर यह काम नहीं करता है तो उपयोग करें
आमतौर पर, service php5-fpm restart
अप-टू-डेट वितरण पर ठीक होगा।
लेकिन सोमटाइम्स, यह आपको restart: Unknown instance:
(या ऐसे) बताने में विफल रहता है ।
अब, यदि आप अपने सर्वर को रिबूट करना पसंद नहीं करते हैं, तो बस प्रक्रियाओं को मारें और एक नई शुरुआत करें (जैसा कि यहां बताया गया है):
$ sudo pkill php5-fpm; sudo service php5-fpm start
stop: Unknown instance:
)
यह काम करना चाहिए:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
killall php-fpm
php-fpm --prefix /usr/local
, इसके तहत कुछ निर्देशिकाएं बना रहा हूं , और जैसा कि @Keeth ने कहा है, के pkill -USR2 -o php-fpm
साथ जाँच pgrep -l fpm
, और पीआईडी वास्तव में बदलते हैं! मेरे पास कुछ अन्य जवाबों के द्वारा उल्लेखित लाभ उठाने के लिए कोई फाइल या सेवाएं नहीं थीं।
मैक ओएसएक्स brew services restart php56
के लिए मेरे लिए काम किया।
मुझे php7-fpm को पुनः आरंभ करने में समस्या थी, क्योंकि मुझे नहीं पता था कि सेवा का नाम वास्तव में कैसे था। इस समारोह ने मुझे जवाब दिया:
service --status-all
मेरे Ubuntu में php7-fpm सेवा को कॉल किया गया था php7.0-fpm
, इसलिए मैंने किया:
service php7.0-fpm restart
service --status-all
यदि आप मुख्य प्रक्रिया में USR2 सिग्नल भेजते हैं, तो php-fpm पुनः आरंभ होगा:
sudo kill -USR2 php-fpm_main_process_id
तो हमें बस इसके pid को कहीं रिकॉर्ड करने के लिए php-fpm को निर्देश देने की आवश्यकता है। इस उदाहरण में, मैं मान लूंगा कि आप इसे सहेजना चाहते हैं /etc/private/php-fpm.pid
, और php-fpm उपयोगकर्ता _php के रूप में चलता है। सबसे पहले, इस लाइन को कॉन्फ़िगरेशन फ़ाइल में जोड़ें:
pid = /etc/php-fpm.pid
फिर फ़ाइल बनाएं /etc/php-fpm.pid
, और सुनिश्चित करें कि php-fpm को इसे संशोधित करने की अनुमति है:
$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid
अब, अगली बार php-fpm शुरू होने पर, आप इसका pid प्राप्त कर सकेंगे और इसे इस तरह से पुनः आरंभ कर सकते हैं:
$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815
या आप इन्हें एक ही कमांड में जोड़ सकते हैं:
$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`
pkill ...
उत्तर और टिप्पणी अधिक पसंद कर रहा हूं ; छोटा और सरल।
PHP-FPM पुनरारंभ स्क्रिप्ट को काम करने की अनुमति देने के लिए, आपको अपनी php-fpm.conf फ़ाइल में एक PID फ़ाइल निर्दिष्ट करना होगा। अर्थात
pid = /var/run/php-fpm/php-fpm.pid
Php-fpm.conf में pid के लिए डिफ़ॉल्ट मान कुछ भी नहीं है, जिसका अर्थ है कि PID फ़ाइल न बनाएं, जिसका अर्थ है कि पुनरारंभ स्क्रिप्ट पुनः आरंभ के दौरान कौन सी प्रक्रिया को समाप्त नहीं कर सकती।
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
RedHat / CentOS 7 पर PHP 7 का उपयोग कर 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
या यदि आप 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
Php-fpm सेवा का नाम खोजने का सबसे सरल तरीका यह है:
systemctl -l --type service --all | grep fpm
systemctl list-units *fpm*
विंडोज पर:
प्रबंधन कंसोल में खुली सेवाएं:
Start -> Run -> "services.msc" -> OK
php-fpm
सूची से चयन करें
डेबियन और ubuntu के पुराने संस्करणों के लिए - php 5.6 यह होगा
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
CentOS / RHEL 7.x + उपयोग पर सिस्टमड सेवाओं को सूचीबद्ध करने के लिए
systemctl
सभी सेवाओं को सूचीबद्ध करने के लिए:
systemctl सूची-यूनिट-फाइलें
जहाँ आप * php-fpm * सेवा नाम की प्रतिलिपि पा सकते हैं और निम्नलिखित कमांड को चला सकते हैं
systemctl ea-php72-php-fpm.service को पुनः आरंभ करता है
नोट: ea-php72-php-fpm.service उपयोगकर्ता आपकी सेवा का नाम
मैक्सोस के लिए एक और तरीका
ActivMonitor खोलें, php-fpm खोजें, pid ढूंढें।
टर्मिनल खोलें, kill [pid]
php-fpm को रोकने के लिए उपयोग करें
फिर php-fpm
इसे शुरू करने के लिए टर्मिनल पर।
यदि त्रुटि जानकारी है कि 127.0.0.1:9000 पहले से ही उपयोग में है, तो बस इसे अनदेखा करें।
Nginx पृष्ठ को ताज़ा करें, php.ini परिवर्तनों को प्रभावी होना चाहिए।
php-fpm
शायद सबसे गलत उपयोगकर्ता के तहत चलेगा; त्रुटि संदेशों को अनदेखा करना कभी भी अच्छा विचार नहीं है।
which php-fpm
देता है/usr/local/sbin/php-fpm
।