0

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

PS如果我的方法是错误的,请指导我。谢谢

4

3 回答 3

1

I'm not sure if your problem isn't caused just by wrong tool - PHP isn't meant for such long tasks.
If that images are on some server better user FTP client.
If you have list of files saved in text file use cURL to download them.

于 2013-09-28T12:51:58.470 回答
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 修改以增加内存使用和时间,你会没事的。

于 2013-09-28T12:58:17.693 回答
0

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

ini_set('max_execution_time', 30000);

第二种方法是使用 htaccess。

php_value max_execution_time 30000
于 2013-09-28T05:50:43.913 回答