我正在构建网站的功能,该功能将生成PDF(使用TCPDF)到包含500多个页面的小册子中。布局非常简单,但是由于记录的数量,我认为它可以视为“长期运行的php进程”。每年只需要完成几次,如果我可以让它在后台运行并在完成后通过电子邮件发送给管理员,那将是完美的。被视为Cron,但它是用户生成的功能类型。
我该怎么做才能使我的PDF渲染保持尽可能长的时间?我对PHP很好,但是对* nix却不太满意。甚至教程链接也将有所帮助。
最佳答案
您需要更改PHP脚本允许的最大执行时间。您可以通过脚本本身的多种方式(如果可以使用,则应该这样做)或更改php.ini来实现。
注意-更改执行时间可能会严重降低服务器的性能。在解析器终止脚本之前,脚本只能运行一定时间(默认为30秒)。这有助于防止编写不正确的脚本占用服务器。在执行此操作之前,您应该完全知道自己在做什么。
您可以找到有关以下内容的更多信息:
max-execution-time
此处http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time set_time_limit()
限制了最大执行时间http://php.net/manual/en/function.set-time-limit.php PS:如果使用PHP生成PDF,这应该可以工作。如果您在脚本之外使用某些东西(由
exec()
,system()
和类似名称调用),它将不起作用。