কীভাবে আপনি পিএইচপি-এফপিএম পুনরায় চালু করবেন?


184

আমার আমার php.ini পুনরায় লোড করা দরকার এবং এটি পুনরায় চালু করার বিষয়ে সহায়তা সংলাপে কিছুই নেই।

উত্তর:


335

দ্রষ্টব্য : sudoমূল না থাকলে প্রিপেন্ড করুন

  • এসআইএসভি ইনিশ স্ক্রিপ্টগুলি সরাসরি ব্যবহার করা:

    /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
    
  • আপস্টার্ট ব্যবহার করে (উদাঃ উবুন্টু):

    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
    

বা আপনার সিস্টেমে সমতুল্য যাই হোক না কেন।


2
ম্যাকের কী হবে? পিএইচপি-এফপিএম হোমব্রু ব্যবহার করে ইনস্টল করা হয়েছিল। which php-fpmদেয় /usr/local/sbin/php-fpm
hobbes3

6
@ হবিস 3 চেষ্টা করুন brew services restart php56(যদি আপনি কোনও উপলভ্য সূত্র সম্পর্কে কোনও ত্রুটি পান তবে একটি আলাদা সংস্করণ যেমন পিএইচপি 5 বা পিএইচপি 55 চেষ্টা করুন)। আপনার যদি ব্রু সার্ভিস ইনস্টল না থাকে তবে এটি প্রথমবারের জন্য আপনার জন্য ইনস্টল করা উচিত।
ডক্টর জে

উপরের কোনওটিই আমার পক্ষে কাজ করেনি, তবে এটি করেছে: service php-fcgi-mydomain-com restartএবং সাইট-সক্ষমিত থেকে প্রতিটি ডোমেনের জন্য আমাকে এটি পুনরাবৃত্তি করতে হয়েছিল
১৯:১০ এ ইলাইচ

এটি আমার জন্য ভাল ছিল (সেন্টো):systemctl reload php70-php-fpm
4wk_

আমি উবুন্টু 16,04 উপর আছি এবং এই কাজ করলো: systemctl restart php5.6-fpm.service
relipse

30

ম্যাক ওএস এক্স এর জন্য, আমি এটিই করি:

একটি স্ক্রিপ্ট তৈরি করুন /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 আপনার $ PATH এ আছে

তারপরে এটিকে কেবল টার্মিনাল থেকে কল করুন এফপিএম-পুনঃসূচনা এবং বুম !!


4
homebrew.mxcl.php*.plistএটি যদি কাজ না করে তবে ব্যবহার করুন
ড্যানিল রাইজকভ


ব্রিউ পরিষেবাদি মূলত আপনার স্ক্রিপ্ট যা করে তা করে।
কিয়ুলং

22

সাধারণত, service php5-fpm restartএকটি আপ টু ডেট বিতরণে জরিমানা করবে।

তবে কিছু সময়, এটি ব্যর্থ হয়, আপনাকে restart: Unknown instance:(বা এ জাতীয়) বলে।

এখন, আপনি যদি নিজের সার্ভারটি পুনরায় চালু করতে পছন্দ না করেন তবে কেবল প্রক্রিয়াগুলি মেরে নতুন করে শুরু করুন (এখানে হিসাবে সম্পাদিত):

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

ধন্যবাদ, এটি আমার সমস্যাটি ঠিক ঠিক করেছে। ( stop: Unknown instance:)
নিলোক

13

এই কাজ করা উচিত:

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

3
আপনি যদি কোনও ম্যাকের হোমব্রুয়ের মাধ্যমে পিএইচপি-এফপিএম ইনস্টল করেন তবে প্রথম কমান্ড আনলোড + প্লিজটি লোডিংয়ের চেয়ে অনেক বেশি ভাল কাজ করে
অ্যালান আইভে

ওএসএক্স:killall php-fpm
পিটিম

উপরের ওএসএক্সে আমাকে একটি ত্রুটি দিয়েছে "অজানা ব্যবহারকারী এসআর 2"। যুক্তিগুলির বিপরীতটি এটি ঠিক করে দিয়েছে: "pkill -USR2 -o php-
fpm

ধারকটিতে FPM পুনঃসূচনা করার জন্য আমার ঠিক কী দরকার ছিল, ধন্যবাদ!
অ্যাড্রিয়ান গন্টার

আমি প্রাক-ইনস্টলড বা এক্সকোড, পিএইচপি এর সংস্করণ এবং এর সাথে সম্পর্কিত -fpm এর সাথে বান্ডিল ব্যবহার করছি, কারণ হোমব্রুয়ের মাধ্যমে নয়। কেবল ভেবেছি সেখানে যা আছে তা আমার ব্যবহার করা উচিত। আমি এর সংমিশ্রণটি ব্যবহার করছি php-fpm --prefix /usr/local, এটির প্রয়োজন অনুসারে কয়েকটি ডিরেক্টরি তৈরি করছি , এবং @ কীথ যেমনটি বলেছে, এর pkill -USR2 -o php-fpmসাথে চেক করা হচ্ছে pgrep -l fpm, এবং পিআইডিগুলি সত্যই পরিবর্তিত হবে! অন্যান্য উত্তরগুলির দ্বারা উল্লিখিত সুবিধা গ্রহণের জন্য আমার কাছে কোনও প্লাস্ট ফাইল বা পরিষেবা ছিল না।
10:44


12

আমার পিএইচপি 7-এফপিএম পুনরায় চালু করতে সমস্যা হয়েছিল, কারণ পরিষেবাটির নাম ঠিক কীভাবে দেওয়া হয়েছিল তা আমি জানতাম না। এই ফাংশনটি আমাকে উত্তর দিয়েছে:

service --status-all

আমার উবুন্টুতে php7-fpm পরিষেবা কল করা হয়েছিল php7.0-fpm, তাই আমি করেছি:

service php7.0-fpm restart


5
+1 এর জন্যservice --status-all
জেডি

6

আপনি যদি প্রধান প্রক্রিয়াতে কোনও ইউএসআর 2 সিগন্যাল প্রেরণ করেন তবে পিএইচপি-এফপিএম পুনরায় চালু হবে:

sudo kill -USR2 php-fpm_main_process_id

সুতরাং এর পিডটি কোথাও রেকর্ড করার জন্য আমাদের কেবল পিএইচপি-এফএমপি নির্দেশ করতে হবে। এই উদাহরণে, আমি ধরে নিই যে আপনি এটি সংরক্ষণ করতে চান /etc/private/php-fpm.pidএবং এই পিএইচপি-এফএমপি ব্যবহারকারী _ পিএফপি হিসাবে চালায় runs প্রথমে কনফিগারেশন ফাইলে এই লাইনটি যুক্ত করুন:

pid = /etc/php-fpm.pid

তারপরে ফাইলটি তৈরি করুন /etc/php-fpm.pidএবং নিশ্চিত করুন যে পিএইচপি-এফএমপিএল এটি সংশোধন করার অনুমতি পেয়েছে:

$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid

এখন, পরের বার পিএইচপি-এফপিএম শুরু হলে, আপনি এর পিড পেতে সক্ষম হবেন এবং এটিকে পুনরায় আরম্ভ করতে পারবেন:

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

অথবা আপনি এগুলিকে একটি একক কমান্ডের সাথে সংযুক্ত করতে পারেন:

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

আমি @ ডায়াল্ট0 এবং @ কিথের pkill ...উত্তর এবং আরও উপরে মন্তব্য পছন্দ করছি ; খাটো এবং সহজ।
10:44

এটি আরও ভাল, এবং দুর্দান্ত ব্যাখ্যা। আপনার যদি পিএইচপি ক্লাস্টারগুলি একই বাক্সে চালিত হওয়ার ঘটনা ঘটে তবে হ্যাঁ, এটি হ'ল খারাপ অভ্যাস)
ধনী কে।

3

আমার জন্য আমি সবে মাত্র অ্যাপের মাধ্যমে আপগ্রেড করেছি এবং সার্ভিস পুনঃসূচনাটি কাজ করছে না। আমি বিদ্যমান প্রক্রিয়াগুলি ব্যবহার করে কাজ করার আগে এটি শেষ করার প্রয়োজন শেষ করেছিলাম: কিলাল পিএইচপি 5-এফপিএম


2

পিএইচপি-এফপিএম পুনর্সূচনা স্ক্রিপ্টটি কাজ করার অনুমতি দেওয়ার জন্য আপনাকে অবশ্যই আপনার পিএইচপি-এফএমপিএমএফ ফাইলটিতে একটি পিআইডি ফাইল ব্যবহার করতে হবে। অর্থাত

pid = /var/run/php-fpm/php-fpm.pid

পিএইচপি- fpm.conf- এ পিডের জন্য ডিফল্ট মান কিছুই নয়, যার অর্থ পিআইডি ফাইল তৈরি না করা, যার অর্থ পুনরায় আরম্ভের সময় কোন প্রক্রিয়াটি শেষ হবে তা পুনরায় আরম্ভ করার স্ক্রিপ্টটি বলতে পারে না।


2

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

2

উবুন্টু 16 এ পিএইচপি 5.6 এফপিএম সহ।

 /etc/init.d/php5.6-fpm restart

1

সফ্টওয়্যারকলেকশন.অর্গ থেকে পিএইচপি 7 ব্যবহার করে রেডহ্যাট / সেন্টোস 7 এ

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


0

উইন্ডোজে:

  1. পরিচালনা কনসোলে ওপেন পরিষেবাদি:

    Start -> Run -> "services.msc" -> OK
    
  2. php-fpmতালিকা থেকে নির্বাচন করুন

  3. রাইটক্লিক করুন এবং পুনরায় চালু নির্বাচন করুন


0

এনগিনেক্স সহ আলপাইনটিতে এটি এখানে কাজ করছে:

সমস্ত পিএইচপি-এফপিএম 7 প্রক্রিয়া হ'ল:

kill $(ps -o pid,comm | grep php-fpm7 | awk '{print $1}')

পিএইচপি-এফপিএম 7 শুরু করতে:

php-fpm7


0

CentOS / RHEL 7.x + ব্যবহারে সিস্টেমযুক্ত পরিষেবাদি তালিকাভুক্ত করতে

systemctl

সমস্ত পরিষেবা তালিকাভুক্ত করতে:

systemctl তালিকা-ইউনিট-ফাইল

যেখানে আপনি * php-fpm * কপি পরিষেবার নাম নামক পরিষেবাটি পেতে পারেন এবং নিম্নলিখিত কমান্ডটি চালাতে পারেন

systemctl পুনর্সূচনা ea-php72-php-fpm.service

দ্রষ্টব্য: ea-php72-php-fpm.service ব্যবহারকারী আপনার পরিষেবা নাম


-2

ম্যাকসওএসের জন্য অন্য একটি পদ্ধতি

ক্রিয়াকলাপ মনিটর খুলুন, পিএইচপি-এফপিএম অনুসন্ধান করুন, পিডটি সন্ধান করুন।

টার্মিনাল খুলুন, kill [pid]পিএইচপি-এফএমপি বন্ধ করতে ব্যবহার করুন

তারপরে php-fpmএটি শুরু করতে টার্মিনালে।

127.0.0.1:9000 ইতিমধ্যে ব্যবহারে ত্রুটি সম্পর্কিত তথ্য থাকলে, কেবল এটিকে উপেক্ষা করুন।

রিফ্রেশ Nginx পৃষ্ঠা, php.ini পরিবর্তনগুলি প্রভাবিত হওয়া উচিত।


ম্যাকসওএস কী? কেবল চালানো php-fpmসম্ভবত এটি ভুল ব্যবহারকারীর অধীনে চালিত হবে; ত্রুটির বার্তাগুলি উপেক্ষা করা কখনই ভাল ধারণা নয়।
জেরাল্ড স্নাইডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.