सवाल आप php-fpm को पुनरारंभ कैसे करते हैं?


मुझे अपने php.ini को पुनः लोड करने की आवश्यकता है और इसे पुनरारंभ करने के बारे में सहायता संवाद में कुछ भी नहीं है।


160
2017-10-12 01:58


मूल




जवाब:


ध्यान दें: प्रीपेन्ड करें sudo अगर जड़ नहीं है


294
2017-10-12 03:37



उनमें से कोई भी काम नहीं किया - Galen
Googlers (जैसे खुद) के लिए यहां पहुंचे: यह जवाब सही था, लेकिन मेरे सिस्टम पर इसे 'php5-fpm' नाम दिया गया था, इसलिए service php5-fpm restart चाल है - Matt Winckler
मैक पर क्या है? php-fpm होमब्रू का उपयोग कर स्थापित किया गया था। which php-fpm देता है /usr/local/sbin/php-fpm। - hobbes3
@ hobbes3 कोशिश करें brew services restart php56 (यदि आपको कोई उपलब्ध सूत्र के बारे में कोई त्रुटि नहीं मिलती है, तो एक अलग संस्करण जैसे php5 या php55) आज़माएं। यदि आपके पास ब्रू सेवाओं को इंस्टॉल नहीं किया गया है, तो इसे आपके लिए पहले रन पर इंस्टॉल करना चाहिए। - Doktor J
मुझे इसकी आवश्यकता थी: sudo service php7.0-fpm restart - Ryan


मैक ओएस एक्स के लिए, मैं यही करता हूं:

एक स्क्रिप्ट बनाएं /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 / local / sbin आपके $ PATH में है

तो बस टर्मिनल एफपीएम-पुनरारंभ और बूम से इसे बुलाओ !!


29
2017-09-23 04:55



उपयोग homebrew.mxcl.php*.plist अगर यह काम नहीं करता है - Daniil Ryzhkov
github.com/Homebrew/homebrew-php#installing-multiple-versions    यदि आप ths .plist फ़ाइल नहीं ढूंढ सकते हैं। - Frank Fang


आमतौर पर, service php5-fpm restart एक अद्यतित वितरण पर ठीक होगा।

लेकिन कभी-कभी, यह आपको बताते हुए विफल रहता है restart: Unknown instance: (या ऐसे)।

अब, यदि आप अपने सर्वर को रीबूट करना पसंद नहीं करते हैं, तो बस प्रक्रियाओं को मार दें और एक नई शुरुआत करें (यहां के रूप में संपादित):

$ sudo pkill php5-fpm; sudo service php5-fpm start

21
2017-08-08 11:55



धन्यवाद, यह वास्तव में मेरी समस्या तय है। (stop: Unknown instance:) - Nilloc


यह काम करना चाहिए:

pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm

11
2018-02-01 20:08



यदि आपने मैक पर होमब्री के माध्यम से PHP-FPM स्थापित किया है, तो पहला आदेश अनलोड + प्लस को लोड करने से बहुत बेहतर काम करता है - alanthing
OSX: killall php-fpm - ptim
ओएसएक्स पर उपरोक्त मुझे एक त्रुटि "अज्ञात उपयोगकर्ता एसआर 2" दिया। तर्कों को उलटाने से इसे ठीक किया गया: "pkill -USR2 -o php-fpm" - Keeth
एक कंटेनर में एफपीएम को पुनरारंभ करने के लिए मुझे वास्तव में क्या चाहिए, धन्यवाद! - Adrian Günter
मैं प्री-इंस्टॉल का उपयोग कर रहा हूं, या एक्सकोड के साथ बंडल किया गया है, कुछ कारणों से PHP और उसके संबंधित-एफपीएम का संस्करण, और होमब्रू के माध्यम से नहीं। बस सोचा कि मुझे पहले से क्या उपयोग करना चाहिए। मैं एक संयोजन का उपयोग कर रहा हूँ php-fpm --prefix /usr/local, इसके तहत कुछ निर्देशिकाएं बनाना आवश्यक है, और जैसा कि @ केथ ने कहा है, pkill -USR2 -o php-fpm, के साथ जांच pgrep -l fpm, और पीआईडी ​​वास्तव में बदलते हैं! मेरे पास कुछ अन्य उत्तरों द्वारा उल्लिखित लाभ लेने के लिए कोई प्लिस्ट फाइल या सेवाएं नहीं थीं। - Pysis


मैक ओएसएक्स के लिए brew services restart php56 मेरे लिए काम किया


11
2017-12-30 21:25



हाँ, मेरे लिए भी काम करता है। मैक ओएस एक्स - Mike Nguyen


मुझे php7-fpm को पुनरारंभ करने में कोई समस्या थी, क्योंकि मुझे नहीं पता था कि सेवा का नाम कैसा था। इस समारोह ने मुझे जवाब दिया:

service --status-all

मेरे उबंटू में php7-fpm सेवा को बुलाया गया था php7.0-fpm, तो मैंने किया:

service php7.0-fpm restart


8
2018-03-26 08:57



के लिए +1 service --status-all - J.D.


यदि आप मुख्य प्रक्रिया में यूएसआर 2 सिग्नल भेजते हैं तो php-fpm पुनरारंभ होगा:

sudo kill -USR2 php-fpm_main_process_id

तो हमें कहीं भी अपनी पिड रिकॉर्ड करने के लिए 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 शुरू होता है, तो आप इसकी पिड प्राप्त कर पाएंगे और इसे इस तरह पुनरारंभ करेंगे:

$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815

या आप इन्हें एक ही कमांड में जोड़ सकते हैं:

$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`

5
2018-03-12 07:01



मुझे @ डायल 0 और @ केथ की पसंद है pkill ... उत्तर और अधिक ऊपर टिप्पणी; छोटा और सरल। - Pysis
यह बेहतर है, और अच्छी व्याख्या है। यदि आप एक ही बॉक्स पर चल रहे होते हैं (हाँ यह बुरा अभ्यास है) तो आपके अन्य PHP क्लस्टर को मारने के लिए, यदि आप प्रक्रियाओं को सही ढंग से मिलान नहीं करते हैं, तो पिक्सेल जोखिम चलाता है। - Rich K.