著者は過去 4 年間、PHP アプリケーションの開発に専念してきました。 PHPは本当に書きやすいです。しかし、PHP には非常に重大な欠陥もいくつかあります。
以下に、小規模なアマチュア Web サイトよりも大きな Web サイトに PHP が適さない理由を私なりに挙げます。
1. 再帰のサポートが不十分
再帰は関数が自身を呼び出すメカニズムです。これは、複雑なものを非常に単純なものに変えることができる強力な機能です。再帰の使用例はクイックソートです。残念ながら、PHP は再帰があまり得意ではありません。 PHP 開発者の Zeev 氏は、「PHP 4.0 (Zend) は、ヒープ アプローチではなく、高密度データに対してスタック アプローチを使用しています。これは、許容できる再帰関数の数が他の言語よりも大幅に制限されていないことを意味します。バグ 1901 を参照してください。」と述べています。 。これは非常に悪い言い訳です。すべてのプログラミング言語は適切な再帰サポートを提供する必要があります。
2. 多くの PHP モジュールはスレッドセーフではありません
数年前、Apache は Web サーバーのバージョン 2.0 をリリースしました。このバージョンでは、ソフトウェアの 1 つの部分で複数の部分を同時に実行できるマルチスレッド モードがサポートされています。 PHP の発明者は、PHP のコアはスレッドセーフだが、非コア モジュールはスレッドセーフではない可能性があると述べています。しかし、十中八九、このモジュールを PHP スクリプトで使用したいと考えますが、これにより、スクリプトが Apache のマルチスレッド モードと互換性がなくなります。これが、PHP チームが Apache 2 のマルチスレッド モードで PHP を実行することを推奨しない理由です。 Apache 2 が不人気なままである理由の 1 つとして、PHP のマルチスレッド モードのサポートが不十分であることがよく挙げられます。
このディスカッションをお読みください: