PHP - 超过30秒的最大执行时间

时间:2012-01-09 20:25:50

标签: php database

有时我会收到脚本执行错误,这需要30秒以上。它总是在我的连接器文件中。你能不能看看pelase,如果你说任何明显的话,请告诉我......

我正在使用VPS,因此我可以完全控制服务器,以便进行任何必要的更改。

session_start();
date_default_timezone_set('Europe/London');
$uTime = time();
$uDate = date('Ymd',$uTime);
$onlineLimit = 1800;
$activeLimit = 3628800;
$fDate = date('Ymd', strtotime('next monday'));
$time_start = microtime(true);

$db = mysql_connect("localhost", "xxxxxxx", "xxxxxxxx") or die("Could not connect.");
if(!$db) 
die("no db");
if(!mysql_select_db("xxxx",$db))
die("No database selected.");
if(!get_magic_quotes_gpc())
{
  $_GET = array_map('mysql_real_escape_string', $_GET); 
  $_POST = array_map('mysql_real_escape_string', $_POST); 
  $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);
}
else
{  
   $_GET = array_map('stripslashes', $_GET); 
   $_POST = array_map('stripslashes', $_POST); 
   $_COOKIE = array_map('stripslashes', $_COOKIE);
   $_GET = array_map('mysql_real_escape_string', $_GET); 
   $_POST = array_map('mysql_real_escape_string', $_POST); 
   $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);
}
  mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'")or die(mysql_error());

  $page = $_SERVER['PHP_SELF'];
  $season = mysql_fetch_assoc(mysql_query("SELECT `id`,`start`,`end` from `season` order by `id` DESC limit 0,1"));
  $seasonDays = round((strtotime($season['end'])-strtotime($season['start'])) / 86400);
  $currentDay = ceil(($uTime - strtotime($season['start'])) / 86400);

3 个答案:

答案 0 :(得分:4)

set_time_limit(0);添加到代码的顶部,它将允许它在没有时间限制的情况下运行。

UPDATE 是安全的,如set_time_limit(x);中的设置x中的注释所述,执行的最大秒数。 0 =无限

答案 1 :(得分:3)

我会在php.ini中设置更高的max_execution时间,你会看到它会死在哪里......

答案 2 :(得分:0)

您还可以使用以下网址在网站根目录下的.htaccess文件中进行设置:

php_value max_execution_time 3600