php は非常に人気のあるスクリプト言語であり、現在多くの企業 (Sina、Youku、Baidu、Sohu、Taobao など) が Web サイト開発にこの言語を使用しています。 PHP スクリプトのパフォーマンスは、多くの場合、PHP バージョン、Web サーバー環境、コードの複雑さに依存することに注意してください。
コード内のボトルネックを最適化する
ホア氏はかつてこう言いました。全ての不幸の根源。」 Web サイトの実行を高速化したい場合は、最適化を行う必要があります。コードを変更する前に何をする必要がありますか?システムが遅くなる原因は何ですか?次のガイダンスやその他の方法で php を最適化できますが、データベースやネットワークの理由である可能性があります! PHP コードを最適化することで、システムのボトルネックを見つけることができます。
PHP バージョンをアップグレードする
チーム メンバーは、PHP エンジンは長年にわたって象徴的なパフォーマンスの向上を数多く遂げてきたと示唆しています。 Web サーバーが php3 や php4 などの古いバージョンをまだ実行している場合。したがって、コードの最適化を試みる前に、バージョン間のアップグレードについて詳しく調べる必要があります。
具体的な詳細を確認するには、次のリンクをクリックしてください:
PHP 4 から PHP 5 への移植
PHP 5.0.x から PHP 5.1.x
# への移植## PHP 5.1.x から PHP 5.2.への移行xキャッシュの使用
キャッシュ モジュール (Memcache など) またはテンプレート システム ( Smarty など) キャッシュを実行します。データベースの結果をキャッシュし、ページの結果を抽出することで、Web サイトのパフォーマンスを向上させることができます。出力バッファを使用する
スクリプトをレンダリングしようとすると、PHP はメモリ バッファを使用してすべてのデータを保存します。キャッシュを使用すると、結果がユーザーに返される前に、応答するすべてのデータでバッファーがいっぱいになるため、ページが遅く見える場合があります。 幸いなことに、バッファーがいっぱいになる前に PHP がユーザーに応答するように変更を加えることができ、Web サイトの表示が速くなります。単純なセッターとゲッターの作成を避ける
PHP クラスを作成する場合、オブジェクトのプロパティを直接操作できるため、時間を節約できます。スクリプトのパフォーマンスを向上させます。人々を幼稚でばかばかしいと感じさせるようなセッターやゲッターではなく。 以下はいくつかのケースです: Dog クラスは setName() と getName() を使用して name 属性を操作します。class dog { public $name = ''; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } }
$rover = new dog(); $rover->setName('rover'); echo $rover->getName();
$rover = new dog(); $rover->name = 'rover'; echo $rover->name;
理由もなく変数をコピーしないでください
若手 PHP 者は、コードをより「きれい」にするために、変数を再割り当てすることがあります。定義された変数を別の変数に変換します。これにより、実質的にメモリ消費量が 2 倍になり (変数変更時)、スクリプトのパフォーマンスが低下します。 たとえば、ユーザーが 512KB の変数を別の変数に挿入すると、1MB のメモリが消費されます。$description = strip_tags($_POST['description']); echo $description;
echo strip_tags($_POST['description']);
SQL 操作を実行するループを避ける
よくある間違いは、SQL 操作をループ内に配置することです。これにより、頻繁に SQL 操作が実行されることになります。さらに重要なことに、データベースはスクリプトのパフォーマンス低下に直接つながります。次の例では、ループ操作を単一の SQL ステートメントにリセットできます。foreach ($userList as $user) { $query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")'; mysql_query($query); }
INSERT INTO users (first_name,last_name) VALUES("John", "Doe")
$userData = array(); foreach ($userList as $user) { $userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")'; } $query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData); mysql_query($query);
INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")...
以上がPHPのパフォーマンスを最適化する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。