web-dev-qa-db-ja.com

PHP5-FPMは/ var / run内にUNIXソケットディレクトリを作成しません

php5-fpm内のunixドメインソケットにバインドするように/var/run/php5-fpmを設定しました。

/ etc/php5/fpm/pool.d/www.conf

listen = /var/run/php5-fpm/$pool.sock

問題は、php5-fpmディレクトリが自動的に作成されないことです。マシンを再起動すると、ディレクトリがなくなります。

起動時に自動的に作成するにはどうすればよいですか?または、この問題の他の解決策はありますか?

7
igorw
  1. おそらくすでに発見したように、/ var/runは設計上一時的なものです。 [〜#〜] fhs [〜#〜] をチェックして、それと他のディレクトリの詳細を確認してください。

  2. / var/run/php5-fpmディレクトリは、php-fpmを使用する前に存在している必要があります。 php-fpmもinitスクリプトもそれを作成していないようですので、ステップインする必要があります。

    最も簡単なオプションは、initスクリプトを微調整して、ご使用の環境に固有の方法でディレクトリを作成することです。欠点は、「sysadminツールキット」で実行しなければならない手荷物が増えることです。

より複雑な他の2つのオプションがありますが、あなたや他の人にとっては永続的な解決策です。

  1. パッチを php-fpm ソースコードに送信して、.confファイルで定義されているディレクトリの存在を確認します。これには、 パッチ送信 のCおよびPHPのプロセスに関する知識が必要です。

  2. Linuxディストリビューションのinitシステムにパッチを送信して、同じようにします。これは(最初のオプションと比較して)簡単であり、おそらくシェルスクリプトの知識と、パッチ送信のためのディストリビューションのプロセスの知識が必要になります。

クイックフィックス(初期化スクリプトの変更)を実行して先に進むことができますが、他の人が利益を得ることができるように、永続的なオプションの1つに従うことをお勧めします。それは十分に単純で、オープンソースプロジェクトへの貢献に夢中になってしまうかもしれません(まだやっていない場合は、私の無知を許してください)。

2

PHPディレクトリを/ runフォルダー内に作成してから再起動する必要がありますPHP php7.2がある場合は$ Sudo/etc/init.d /php7.2-fpm再起動

そしてすべてが期待どおりに機能するはずです

0
Amine Yakoubi