在我的情况下,我可以将php.ini中的max_execution_time设置为30,000吗?

时间:2013-09-28 05:41:56

标签: php

情景是我想将4046张图片保存到文件夹中。 (已在php中编码)我想最多需要5个小时。最初,php.ini中的最大执行时间设置为30秒。保存650张图片后,浏览器冻结了。并没有保存任何图像。但是这个过程正在运行。并且也没有错误。任何人都可以告诉我在这种情况下我应该设置的最长执行时间!

P.S。如果我的方法有误,请指导我。 谢谢

3 个答案:

答案 0 :(得分:1)

我不确定你的问题是不是由错误的工具造成的 - PHP不适合这么长的任务 如果该图像在某些服务器上更好的用户FTP客户端 如果您有保存在文本文件中的文件列表,请使用cURL下载它们。

答案 1 :(得分:0)

您可以在保存图像的脚本中使用此行延长时间。

ini_set('max_execution_time', 30000);

第二种方法是使用htaccess。

php_value max_execution_time 30000

答案 2 :(得分:0)

我强烈建议您修改脚本以逐步完成工作。所以基本上把工作分成更小的部分,并在两者之间提供休息。基本的逻辑流程就是这样。

<?php
$start = $_GET['start']; //where to start the job at
$end = $start + 250; //queue this and the next 250 positions
for($i=$start;$i<=$end;$i++){
    //do the operations need for position $i
}
header("/urlToScript?start=".($end+1)); //refresh page moving to the next 250 jobs
?>

这将完成整个工作的一小部分,并避免与解释器有任何问题。添加任何INI修改以根据需要增加内存使用和时间,你会没事的。