ฉันต้องโหลด php.ini ใหม่และไม่มีอะไรในกล่องโต้ตอบความช่วยเหลือเกี่ยวกับการเริ่มต้นใหม่
ฉันต้องโหลด php.ini ใหม่และไม่มีอะไรในกล่องโต้ตอบความช่วยเหลือเกี่ยวกับการเริ่มต้นใหม่
คำตอบ:
หมายเหตุ : prepend 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
ใช้ systemd (เซิร์ฟเวอร์ใหม่กว่า):
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
                    สำหรับ Mac OS X นี่คือสิ่งที่ฉันทำ:
สร้างสคริปต์/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 ของคุณ
จากนั้นเพียงแค่เรียกมันจาก terminal fpm-restart และ BOOM !!
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การทำให้ไดเรกทอรีบางอย่างภายใต้ที่มันต้องการและตามที่ @Kyo ได้ระบุไว้pkill -USR2 -o php-fpmตรวจสอบกับpgrep -l fpmและ PIDs จะเปลี่ยนแน่นอน! ฉันไม่มีไฟล์ plist หรือบริการใด ๆ เพื่อใช้ประโยชน์จากคำตอบอื่น ๆ
                    ฉันมีปัญหาในการรีสตาร์ท php7-fpm เพราะฉันไม่รู้ว่าบริการชื่อนั้นเป็นอย่างไร ฟังก์ชั่นนี้ให้คำตอบกับฉัน:
service --status-all
บริการ php7-fpm ใน Ubuntu ของฉันถูกเรียกใช้php7.0-fpmดังนั้นฉันจึง:
service php7.0-fpm restart
service --status-all
                    php-fpm จะรีสตาร์ทถ้าคุณส่งสัญญาณ USR2 ไปยังกระบวนการหลัก:
sudo kill -USR2 php-fpm_main_process_id
ดังนั้นเราต้องสั่ง php-fpm เพื่อบันทึก pid ไว้ที่ไหนสักแห่ง ในตัวอย่างนี้ฉันจะสมมติว่าคุณต้องการบันทึก/etc/private/php-fpm.pidและ php-fpm นั้นจะทำงานเหมือน user _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 ...คำตอบและความคิดเห็นของ @ Keeth ด้านบนมากกว่านี้; สั้นและเรียบง่าย
                    สำหรับฉันฉันเพิ่งอัพเกรดผ่าน apt และการรีสตาร์ทเซอร์วิสไม่ทำงาน ฉันต้องการฆ่ากระบวนการที่มีอยู่ก่อนที่จะทำงานโดยใช้: killall php5-fpm
เพื่อให้สคริปต์รีสตาร์ท PHP-FPM ทำงานคุณต้องใช้ระบุไฟล์ PID ในไฟล์ php-fpm.conf ของคุณ กล่าวคือ
pid = /var/run/php-fpm/php-fpm.pid
ค่าเริ่มต้นสำหรับ pid ใน php-fpm.conf คืออะไรซึ่งหมายถึงการไม่สร้างไฟล์ 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
บน Ubuntu 16 ด้วย php 5.6 fpm
 /etc/init.d/php5.6-fpm restart
ใน 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*
                    บน Windows:
เปิดบริการใน Management Console:
Start -> Run -> "services.msc" -> OK
เลือกphp-fpmจากรายการ
สำหรับเดเบียนเวอร์ชั่นเก่า & ubuntu - php 5.6 จะเป็นเช่นนั้น
 /etc/init.d/php-fpm56 restart
 service php-fpm56 restart
บนอัลไพน์ด้วย nginx นี่ทำงานได้ที่นี่
หากต้องการฆ่ากระบวนการ php-fpm7 ทั้งหมด:
kill $(ps -o pid,comm | grep php-fpm7 | awk '{print $1}')
ในการเริ่ม php-fpm7:
php-fpm7
ในการแสดงรายการ systemd services บน CentOS / RHEL 7.x + ให้ใช้
systemctl
ในการแสดงรายการบริการทั้งหมด:
systemctl list-unit-files
ที่ซึ่งคุณสามารถค้นหาบริการชื่อ * php-fpm * คัดลอกชื่อบริการแล้วเรียกใช้คำสั่งต่อไปนี้
systemctl รีสตาร์ท ea-php72-php-fpm.service
หมายเหตุ: ea-php72-php-fpm.serviceใช้ชื่อบริการของคุณ
วิธีอื่นสำหรับ MaxOS
เปิด ActivityMonitor ค้นหา php-fpm ค้นหา pid
เปิดเทอร์มินัลใช้kill [pid]เพื่อหยุด php-fpm
จากนั้นphp-fpmใน terminal เพื่อเริ่มต้นมัน
หากมีข้อมูลข้อผิดพลาดที่ 127.0.0.1:9000 มีการใช้งานอยู่แล้วให้เพิกเฉย
รีเฟรชหน้า Nginx ควรเห็นการเปลี่ยนแปลง php.ini มีผล
php-fpmอาจเป็นการรันภายใต้ผู้ใช้ที่ไม่ถูกต้อง การเพิกเฉยต่อข้อความผิดพลาดไม่ใช่ความคิดที่ดี
                    
which php-fpm/usr/local/sbin/php-fpm