0

私はこの問題に直面しています。まず、私はPHPとMySQLに非常に慣れていないことを言いたいと思います。

Fatal error: Maximum execution time of 30 seconds exceeded in 
.........................\cdn\wished.php on line 3

3行目で何が問題なのかわかりませんが、エラーが発生するのはたまにしかありません。これが私のコードです:

<?php
//wished.php
$CheckQuery = mysql_query("SELECT * FROM users WHERE ownerid='$user->id'");
$wished = 0;
while($row = mysql_fetch_assoc($CheckQuery))
{
//  echo $row['fname']."<br/>";
    $wished++;
}
echo $wished;
?>

これをローカルホストでXAMPPを使用して実行すると完璧でした。ドメインでアプリをホストしてデータベースを使用するとすぐに、エラーが発生し始めます。

みんな、ありがとう :)

4

1 に答える 1

1

問題は、SQLクエリに時間がかかりすぎており、本番PHP構成のPHPスクリプトの時間制限が低すぎることです。

スクリプトの開始時に、PHPの制限時間にさらに時間を追加できます。

http://php.net/manual/en/function.set-time-limit.php

set_time_limit(60);

たとえば、さらに30秒追加します(または、0を使用してPHPスクリプトの実行を継続します)。

本番データベースが開発DBと異なる場合(そして本番にははるかに多くのデータがあると思います)、ユーザーテーブルからすべてを取得するのは非常にコストのかかる呼び出しになる可能性があります。

于 2013-03-10T11:22:23.877 に答える