我可以在 php.ini 中将最大执行时间设置为 30,000 吗?


Can I set max execution time in php.ini to be 30,000 in my case?

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

附言如果我的做法是错误的,请指导我。谢谢

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

我强烈建议修改脚本以增量方式完成工作。因此,基本上将工作分解为较小的部分,并在两者之间提供中断。基本逻辑流程是这样的。

<?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 修改以增加内存使用量和时间,您会没事的。

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

ini_set('max_execution_time', 30000);

第二种方法是使用 htaccess。

php_value max_execution_time 30000