ホームページ >運用・保守 >Linuxの運用と保守 >Linux php7-fpm の起動失敗を解決する方法
Linux php7-fpm の起動に失敗する場合の解決策: 1. 「php-fpm.conf」ファイル内の「error_log」項目を変更します; 2. php の場所を変更します。設定ファイル; 3. nginx を現在のシステムのユーザー名に変更します; 4. nginx ユーザーとユーザー グループを直接作成します。
php-fpm の起動失敗の解決策 (centOS に PHP をインストールした後)
php7.2.1 を centOS7.0 にコンパイルしてインストールした後、新しく追加された php 拡張機能なので、php-fpm を再起動する必要があります;
1. まず、php-fpm の構成について話します:
初期インストール後、これらのファイルは利用できません。cpを一つずつ作成して起動する必要があります。エラーがなければ「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,
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'
Method 1:
」が表示されます。 php7 がコンパイルされたら、次のコマンドを使用して
<code><pre class="brush:php;toolbar:false">/usr/local/php/sbin/php-fpm</pre>
を開始し、このエラーを報告します:
[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
Modify 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 コンテンツの拡張
php-fpm の開始:
<code><pre class="brush:php;toolbar:false">/usr/local/php/sbin/php-fpm</pre>
#シンプルで直接的な再起動方法:
マスターを確認します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 再起動:
りー以上がLinux php7-fpm の起動失敗を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。