Php.iniをリロードする必要がありますが、ヘルプダイアログに再起動することはありません。
注:ルートでない場合は先頭に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
Upstartを使用(例: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
または、システムに同等のものは何でも。
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にあることを確認してください
次に、ターミナルfpm-restartとBOOMから呼び出すだけです!!
通常、service php5-fpm restart
は、最新のディストリビューションで問題なく動作します。
しかし、たまに失敗し、restart: Unknown instance:
(またはそのような)。
ここで、サーバーを再起動したくない場合は、プロセスを強制終了し、新たに開始します(ここで編集済み)。
$ Sudo pkill php5-fpm; Sudo service php5-fpm start
これはうまくいくはずです:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
Mac OSXの場合brew services restart php56
は私のために働きました。
サービスの正確な名前がわからなかったため、php7-fpmの再起動に問題がありました。この関数は私に答えを与えました:
service --status-all
私のUbuntuのphp7-fpmサービスはphp7.0-fpm
と呼ばれていたので、次のようにしました。
service php7.0-fpm restart
uSR2シグナルをメインプロセスに送信すると、php-fpmが再起動します。
Sudo kill -USR2 php-fpm_main_process_id
したがって、php-fpmにpidをどこかに記録するように指示する必要があります。この例では、/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
または、これらを1つのコマンドに組み合わせることができます。
$ Sudo kill -USR2 `cat /etc/private/php-fpm.pid`
私にとっては、apt経由でアップグレードしたばかりで、サービスの再起動が機能していませんでした。それが機能する前に既存のプロセスを殺す必要がありました:killall php5-fpm
PHP-FPM再起動スクリプトを機能させるには、php-fpm.confファイルでPIDファイルを指定する必要があります。つまり.
pid = /var/run/php-fpm/php-fpm.pid
Php-fpm.confのpidのデフォルト値は何もありません。これは、PIDファイルを作成しないことを意味します。つまり、再起動スクリプトは、再起動中に終了するプロセスを通知できません。
Php 5.6 fpmがインストールされたUbuntu 16。
/etc/init.d/php5.6-fpm restart
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
CentOS/RHEL 7.x +でsystemdサービスを一覧表示するには
systemctl
すべてのサービスをリストするには:
systemctl list-unit-files
* php-fpm * copy service nameという名前のサービスを見つけて、次のコマンドを実行できる場所
systemctl restart ea-php72-php-fpm.service
NOTE:ea-php72-php-fpm.serviceユーザーのサービス名
Nginxを備えたアルパインでは、これはここで機能しています:
すべてのphp-fpm7プロセスを強制終了するには:
kill $(ps -o pid,comm | grep php-fpm7 | awk '{print $1}')
Php-fpm7を起動するには:
php-fpm7
古いバージョンのdebian&ubuntu-php 5.6の場合
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
Windowsの場合:
管理コンソールでサービスを開きます。
Start -> Run -> "services.msc" -> OK
選択する php-fpm
リストから