ホームページ >バックエンド開発 >PHPチュートリアル >コマンドラインで PHP を実行すると、一時停止が発生します。
私が使用している PHP はバージョン 5.2.13 です
Apache では非常に高速に実行されます
cmd コマンドプロンプトを開いて実行すると、理由もなく呆然としてしまいます (約 5 秒)
などsimple ファイル a.php:
<?php echo "hello";
この問題はそれほど深刻ではありませんが、時々簡単なコードを書いてコマンドラインでデバッグしたいのですが、実行するたびに5秒かかります、それはかなり迷惑です。それどころか、システム、プログラム、構成はすべて問題ないようです。それどころか、Apache は非常に高速に動作します。 。 。
php ランタイムは、php5ts.dll と、php.ini で示されているすべての拡張ライブラリおよび対応するサポート ライブラリをロードする必要があります。このロードには時間がかかります。
コマンド ラインから実行しているため、php.exe が終了すると、ロードされたすべてのダイナミック リンクがロードされます。ライブラリはアンインストールされます
ただし、Apache では異なります。http.exe が終了していないため、ロードされたダイナミック リンク ライブラリはアンインストールされません
それに比べて、Apache は当然高速です
より多くのライブラリをロードしているため、速度が遅くなります。
上記の理由を参照してください。
グーグルで調べてみると、これは本当にバグのようです
https://bugs.php.net/bug.php?id=50410
php ランタイムは、php5ts.dll と php で示されているすべての拡張機能をロードする必要があります。 ini ライブラリと対応するサポート ライブラリの読み込みには時間がかかります
コマンド ラインから実行するため、php.exe が終了すると、読み込まれたすべてのダイナミック リンク ライブラリがアンインストールされます
ただし、Apache では異なります。終了すると、読み込まれたダイナミックリンクライブラリはアンインストールされません
それに比べて、Apacheは当然ダウンロードが早いです
実稼働環境は Windows を使用していますか? 実稼働環境が Linux の場合、実際には仮想マシンを使用して環境をローカルにセットアップできます。今では vagrant や boot2docker を使うのがとても便利になり、virtualbox に多くのメモリを割り当てる必要もなくなりました。
実稼働環境は Windows を使用していますか? 実稼働環境が Linux の場合、実際には仮想マシンを使用して環境をローカルにセットアップできます。今では vagrant や boot2docker を使うのがとても便利になり、virtualbox に多くのメモリを割り当てる必要もなくなりました。
グーグルで調べてみましたが、これは本当にバグのようです
https://bugs.php.net/bug.php ? id=50410
さて、上記の説明は私が遭遇した状況と非常に似ていますが、PHP 自体に問題があるようですので、無視してください。 。 。