問題タブ [fpm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 指定したシステム ユーザーを使用して PHP7.0-FPM プールが実行されないのはなぜですか?
私はこのセットアップをかなり頻繁に行ってきましたが、今回は確かに何かを監視しています.
ゴール
LXD コンテナー内で独自のシステム ユーザーを使用して、仮想ホストごとに異なる PHP-FPM プールを使用する Apache 2.4 仮想ホストを持つ。
問題
ファイルがアップロードされるとき、PHP-FPMでは必要ないwww-dataにアップロードディレクトリを設定する必要があることを除いて、すべてが正常に機能しています。
システム
Ubuntu 16.04 LXD コンテナ
コード
/etc/apache2/conf-enabled/php7.0-fpm.conf
/etc/apache2/sites-enabled/hs2.nl.conf
/etc/php/7.0/fpm/pool.d/hs2.nl.conf
ディレクトリのアクセス許可
それぞれのユーザーとして実行されているプロセス
phpinfo
出力
更なる考察
LXD と関係があるのではないかと思いましたが、すべてのプールが独自のユーザーの下で実行されているようです。
編集:この理論を排除するために、まったく同じ構成を通常のKVM仮想マシンにロードしました。そこではまったく同じ方法で問題を再現できたので、構成で何か間違ったことをしたに違いありません。 LXD。
php - PHP CGI と FPM、それらは何ですか?
(初心者として) この 2 人は何者なのかお聞きしたいと思います。これらはサーバー上で実行する PHP のモードであることがわかりましたが、正しいですか? それ以上は何ですか?すべてのトピックは、どちらが速いかのようですが、そもそもそれらが何であるかを知りたいです...
php - PHP プール構成ファイル内の Linux 環境変数の読み取り
DISPLAY_ERRORS
という値で名前が付けられた環境変数を設定しましたon
。
でこの環境変数を使用しようとしていますがphp-fpm.d/www.conf
、正しい構文がわかりません。これが私が試したことです:
1:
2:
3:
4:
上記のどれも機能していないようです。すべての場合で、次のエラーが発生します。
注- 「on」はブール値ではないことはわかっていますphp_flag[display_errors] = on
が、問題なく機能するため、変数の値を取得しようとする方法に問題があると想定しています。
php - php5-fpm / NGINX で PHP IMAP を有効にする方法は?
php5-fpmを使用してUbuntu 14.04.2 LTSで実行されているNGINXサーバーがあります。
インストールしようとしているアプリケーション( OEMPRO )には次のように書かれています。
PHP IMAP 拡張機能が無効になっています。有効にしてください。
PHP IMAP を有効にするにはどうすればよいですか?
確認phpinfo
したところ、何らかの方法で IMAP が存在するようです。phpinfo のスクリーン ショットはこちらでご覧いただけます。
ただし、mods-available/
ディレクトリに IMAP が見つかりませんでした。
で有効にする必要があり/etc/php5/fpm/php.ini
ますか?
アップデート
IMAP をインストールしようとしましたが、問題が解決しません。OEMPRO は依然として IMAP が無効になっていると言っています。
私phpinfo
は同じままですが、 で見ることができimap.ini
ますmods-available/
。
php - 再発エラー 502 Bad gateway Nginx Php5-fpm
しばらくの間、「502 Bad Gateway」というエラーでサイトがクラッシュすることが定期的にありました。サーバーはNginx/Php5-Fpmです。
クラッシュ時に、「service php5-fpm restart」が機能してサイトを再起動します。
これらのクラッシュに関連している可能性がある Web サービスがあります。このサービスが問題であるかどうか、特になぜこの現象が発生するのかはわかりません。
クラッシュが発生した前後のログの例を次に示します。
Php5-fpm.log
調査によると、私はこれを見たことがあります。
私は設定を変更しようとしましたが、実際には、サイトはもうクラッシュしていないように見えましたが、サーバーのすべての CPU が理由もなく 100% になることがありましたが、その後、すべてが正常に戻りました。
この設定で本当に私たちの悩みは解決できるのでしょうか?もしそうなら、CPU 使用率 100% でこれらのピークが発生しないように構成するにはどうすればよいでしょうか?
前もって感謝します。心から。
ヴィンセント・レベック
php - 構成された vHost に従って検出されるはずの PHP ファイルが見つかりません
Docker で Symfony 3.x アプリケーションをセットアップしようとしています。docker-compose.yml ファイルを使用して 3 つの docker コンテナーを構成しました。
- ニンクス
- Php-fpm
- MySQL
my-project.dev:8080/ に移動すると、単純な 404-Not found-ページが表示されます。
- my-project.dev:8080/app_dev.php または my-project.dev:8080/config.php を読み込めません (「ファイルが見つかりません」というエラーが表示されます)
/var/log/nginx/access.log にもエントリがありません。
docker-compose.yml:
nginx.conf ファイル:
vhost.conf ファイル:
php - php exec SVNの空の出力、同じユーザーの端末で正常に動作
PHP 内から SVN を更新する際に問題があります。正常に動作していましたが、数日前に突然動作しなくなりました。
Nginxを介してPHP-FPM 5.5を実行しています。SVN のバージョンは 1.8.8 です。
コード:
出力:
これをターミナルで (PHP-FPM および Nginx と同じユーザーで) 実行すると、期待どおりの出力が得られます。
PHP CLI も正しい出力で動作します (PHP-FPM および Nginx と同じユーザーの下で):
これに基づいて、特にPHP5-FPM exec
onの問題のようですsvn
。しかし、どうすればこれをデバッグして、何が悪いのかを理解できますか?
ありがとう。
すべてをまとめるためのコメントからの更新: proc_open アプローチを試してみましたが、それを介して "svn cleanup $path" のみを実行すると失敗し、すべてのファイルがロックされました。ターミナルで同じユーザーの下で同じコマンドを実行すると、正常に機能し、すべてのファイルのロックが再び解除されました。
svn bin へのフル パスを試しましたが、違いはありません
"svn info $path" の実行は正常に機能しているようで、ファイルはロックされていませんでした。次のコマンドはすべて php exec/proc_open で失敗し (エラー メッセージや出力なしで)、アプリ ファイルをロックします。
- svn クリーンアップ $path
- svn revert $path -R
「svn update $path」は「Updating '$path'」を返しますが、そこで停止します。以前は現在のビルド番号が 2 行目に返されていました。
別のアプリと svn サーバーを使用した 2 番目のセットアップがありますが、同じバージョンの OS とすべてのソフトウェアを実行しています。これは正常に動作しています。それはソフトウェアを除外すると思います。
問題のサーバーを 2 か月前に動作していたバージョンにロールバックしようとしました。サーバーは起動時にソフトウェアとアプリを自動的に更新しますが、構成ファイルやキャッシュに触れてはいけません。利用可能になった後も、同じ問題が表示されていました。ソフトウェア構成ファイル/キャッシュを除外することはかなり確実です。
考えられる原因として、アプリのコードベースとsvnサーバーのみが残ります。次にsvnサーバーをリセットして、svnプロジェクトをやり直してみます。
更新 2: SVN サーバーでプロジェクトを再作成し、アプリ サーバーとすべての svn 構成ディレクトリからアプリケーションを削除し、SVN サーバーから新しいプロジェクトをチェックアウトしました (ビルド 1)。それでも同じエラーです。!_!
更新 3: 上記のすべてを行った後、問題を引き起こしている可能性のあるファイル ベースのみが残っていると結論付けました。そして、ファイル名に特殊文字を含むいくつかのファイルが原因で、「文字列をネイティブエンコーディングから 'UTF-8' に変換できません:」というエラーが SVN によってスローされました。興味深いことに、このエラーは、ターミナルではなく php-fpm から実行しているときにのみプロセスを停止しました。理由がわからない。export LC_CTYPE=en_US.UTF-8; を追加しました。exec コマンドに追加すると、正常に動作するようになりました。
php - PHP-FPM がリクエストごとに新しいプロセスを開始するのは正しいですか?
を使用して PID を出力する 1 行の PHP スクリプトがありgetmypid()
ます。スクリプトが FPM 経由で呼び出されるたびに PID が変更されますが、pid は同じであると予想していました。FPM の要点は、毎回新しいプロセスが生成されるわけではなく、それによって物事が高速化されることだと思いましたか?