Linux php7-fpm の起動失敗の解決策: 1. 「php-fpm.conf」ファイルの「error_log」項目を変更します; 2. php の設定ファイルの場所を変更します; 3. nginx を現在のシステム ユーザー名; 4. nginx ユーザーとユーザー グループを直接作成します。
このチュートリアルの動作環境: Windows 10 システム、php7.2.1 バージョン、DELL G3 コンピューター
linux php7-fpm が管理の開始に失敗した場合は?
php-fpm の起動失敗の解決策 (centOS に PHP をインストールした後)
php7.2.1 を centOS7.0 にコンパイルしてインストールした後、新しく追加された php 拡張機能なので、php-fpm を再起動する必要があります;
まず、php-fpm の構成について説明します。インストール、これらのいくつか ファイルがありません。一つずつ作成して起動する必要があります。エラーがなければ、「2. php-fpm 起動エラー:」を読む必要はありません。 1. php-fpm
cp php.ini-development /usr/local/php7/etc/php.ini cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
2,
Start php-fpm:
/usr/local/php/sbin/php-fpm
2. php-fpm 起動エラー:
原因と解決策:
1. 直接実行すると、構成ファイルが見つからないというエラーが報告されます。
$ php-fpm [11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2) [11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf' [11-Jan-2014 16:03:03] ERROR: FPM initialization failed
/private/etc/ ディレクトリに構成ファイルを生成できますが、これには root 権限 (sudo) が必要です。
または、一般ユーザーの権限を持つディレクトリに構成ファイルを置き、 --fpm- config パラメーターは、次のように構成ファイルの場所を指定します:
# cp /private/etc/php-fpm.conf.default /etc/php-fpm.conf $ php-fpm --fpm-config /etc/php-fpm.conf [11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2) [11-Jan-2014 16:10:49] ERROR: failed to post process the configuration [11-Jan-2014 16:10:49] ERROR: FPM initialization failed
エラー メッセージが表示されます: 「ログ」ファイルを正しく開くことができません。理由は、ファイルが /usr で動作するためです。デフォルトでは /var ディレクトリです。構成ファイルを変更して正しいログを指定できます。ファイル パス
$ vim /usr/local/etc/php-fpm.conf
php-fpm.conf ファイルの error_log 項目を変更します。デフォルトのプレフィックスは /usr/var です。 , but there is no such path
error_log = /usr/local/var/log/php-fpm.log pid = /usr/local/var/run/php-fpm.pid
or do not edit theconfig item in theconfiguration file.Path、php-fpm (-p) の実行パラメータで、相対パス接頭辞
$ php-fpm --fpm-config /php-fpm.conf --prefix /usr/local/var
ランタイム ファイルが配置される場所 この時点で、php-fpm デーモンは基本的に正しく起動できます。
エラー メッセージ:
[12-Jul-2013 17:18:57] ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY [12-Jul-2013 17:18:57] ERROR: failed to load configuration file '/usr/local/php5/etc/php-fpm.conf' [12-Jul-2013 17:18:57] ERROR: FPM initialization failed
2. エラーの主な理由は、/usr/local/php5/sbin/php-fpm 設定です。エラーです。よく確認してください。私の間違いは、グループ = www に = 記号が欠けていたことでした。問題が発生しました
[root@localhost ~]# /usr/local/php5/sbin/php-fpm PHP: syntax error, unexpected TC_STRING in /usr/local/php5/etc/php.ini on line 211
3. php-fpmを起動すると、エラー「ERROR: [pool www] can get uid for user 'nginx'
」が表示されます。方法 1:
php7 をコンパイルした後、次のコマンドを使用して
/usr/local/php/sbin/php-fpm
を起動し、このエラーを報告します:
[07-Dec-2018 17:59:31] ERROR: [pool www] cannot get uid for user 'nginx' [07-Dec-2018 17:59:31] ERROR: FPM initialization failed
php 構成ファイルの場所を変更します。 www.conf で
vi /usr/local/php/etc/php-fpm.d/www.conf
次のように nginx を現在のシステムのユーザー名に変更します。
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = www.emam.cn group = www.emam.cn
方法 2:
nginx ユーザーとユーザー グループを直接作成します
useradd nginx groupadd nginx usermod -G nginx nginx
3. php-fpm コンテンツの拡張
Start php-fpm:
/usr/local/php/sbin/php-fpm
php 5.3.3 以降では、php-fpm は / をサポートしなくなります。 php-fpm が以前持っていた usr/local/ php/sbin/php-fpm (start|stop|reload) およびその他のコマンドなので、この昔ながらのコマンドはもう見ないでください。シグナル制御を使用する必要があります:
マスター プロセスは次の信号を理解できます
INT, TERM すぐに終了します
QUIT 正常に終了します
USR1 ログ ファイルを再度開きます
USR2 すべてのワーカー プロセスを正常に再ロードし、構成モジュールとバイナリ モジュールを再ロードします
シンプルで直接的な再起動方法:
最初に php-fpm のマスター プロセス番号を確認します
# ps aux|grep php-fpm root 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 grep --color=auto php-fpm root 42891 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) nobody 42892 0.0 0.6 183000 6516 ? S 4月18 0:07 php-fpm: pool www nobody 42893 0.0 0.6 183000 6508 ? S 4月18 0:17 php-fpm: pool www
php-fpm:
kill -USR2 42891
OK を再起動します。
上記のスキームは通常、php-fpm.pid ファイルが生成されない場合に使用されます。php-fpm.pid を生成したい場合は、次のスキームを使用してください。上記のマスタープロセス、matster 構成ファイル /usr/local/php/etc/php-fpm.conf が使用されます。 Cat /usr/local/php/etc/php-fpm.conf が見つかりました:
[global] ; Pid file ; Note: the default prefix is /usr/local/php/var ; Default Value: none ;pid = run/php-fpm.pid
pidファイル パスは /usr/local/php/var/run/php-fpm.pid にあるはずですが、コメントアウトされているため生成されません。コメントを削除し、-USR2 42891 を kill して php-fpm を再起動します。 pid ファイルが生成されます。次回からは問題ありません。次のコマンドを使用して php-fpm を再起動して閉じます:
php-fpm 閉じる:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
php-fpm 再起動:
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'
推奨学習: 「
PHP ビデオ チュートリアル>>
」以上がLinux php7-fpm が起動できない場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。