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


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.