压缩400个文件[php]

时间:2016-03-19 09:10:35

标签: php

我制作了一个代码来从网站压缩400个文件,但是当我打开它时,它需要花费很多时间(这没关系),但是如果它太长了,php文件就会停止工作。

我想如何在没有网站崩溃的情况下压缩4000个文件?也许我需要创建一个进度条?

嗯......帮帮忙? :)

3 个答案:

答案 0 :(得分:1)

长时间工作(如压缩4000个文件,发送电子邮件......)不应该在PHP脚本中完成,这将使用户的浏览器等待。

您的用户可能会取消加载该页面,即使他们没有这样做,也很难在长时间内锁定apache线程。

在apache之外设置一个工作池,以异步方式进行这种工作通常是要走的路。看看RabbitMQ和Celery等工具

答案 1 :(得分:0)

我认为您应该查看PHP设置的时间限制或max_execution_time属性:

ini_set('max_execution_time', 300); 
// or if safe_mode is off in your php.ini
set_time_limit(0);

尝试找到压缩所有捆绑包的合理设置,并相应地设置值。

PHP解释器在其自己的执行时间内受到限制,默认为某个值。这就是它突然停止的原因。如果你在php脚本的开头更改了那个设置,它会更好用,试试吧!

您也可以在cli模式下调用php可执行文件来处理该过程...使用shell_exec等函数

答案 2 :(得分:0)

在PHP安装中,您拥有在php.ini文件中定义的指令input。该指令设置任何PHP脚本的最大执行时间,因此您可能希望增加它或将其设置为无限(无时间限制)。你有两种方法:你可以修改你的php.ini但它并不总是可用。您还可以使用set_time_limit功能或ini_set功能。请注意,根据您的主机服务,您可能无法执行此操作。