今夜、YAF フレームワークを使用しているときに問題が発生しました。YAF フレームワークのエントリ ファイルはコマンド ラインで実行できますが、ブラウザからは実行できません。
この問題は一晩中私を悩ませました。幸いなことに、グループの友人がゆっくりと分析を手伝ってくれました。ありがとうございました!
理由は次のとおりです。FPM は yaf.so を使用しませんが、CLI は yaf.so を使用します。
それでは、なぜこのようなことが起こるのでしょうか?コマンド ラインと PHP-FPM は 2 つの異なる SAPI であるため、php.ini ファイルを異なるパスにロードできます。
And through: php php file name
この方法は、CLI SAPI を使用します。
パス: http://localhost/index.php
このメソッドは FPMSAPI を使用します。
では、CLI モードでどの拡張機能が追加されたかを確認するにはどうすればよいでしょうか?
php -m
を使用し、PHP スクリプトで関数
<?php phpinfo();
を使用して、PHP-FPM に追加された拡張機能を確認します。
エラーを入れた主な理由は、CLI と FPM は同じ php.ini ファイルを共有する必要があると常に考えていたためです。実際、これは必ずしも当てはまりません。これは次の場合に指定できます。 PHPのソースコードをコンパイルします。
えっと、皆さんのお役に立てれば幸いです。
基礎は本当に重要です...
ハッピーエンド...
PHP 関連の知識については、PHP 中国語 Web サイト をご覧ください。
以上がPHP スクリプトをコマンド ラインから実行できますが、ブラウザ経由では実行できませんか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。