ホームページ >バックエンド開発 >PHPの問題 >Linux php7-fpm が起動できない場合の対処方法

Linux php7-fpm が起動できない場合の対処方法

藏色散人
藏色散人オリジナル
2023-02-20 09:20:464654ブラウズ

Linux php7-fpm の起動失敗の解決策: 1. 「php-fpm.conf」ファイルの「error_log」項目を変更します; 2. php の設定ファイルの場所を変更します; 3. nginx を現在のシステム ユーザー名; 4. nginx ユーザーとユーザー グループを直接作成します。

Linux php7-fpm が起動できない場合の対処方法

このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。