如何解决仅特定脚本的PHP 7.4.8最大执行时间
首先:对不起,如果已经回答。我进行了多次搜索和测试,但没有找到问题的真实答案(某些答案为
问题:我想增加给定脚本(例如说5分钟)的最大执行时间,并且仅此脚本。我希望其他脚本继续使用.ini最大执行时间(30秒)。
.ini的最大执行时间为30秒。在上述脚本的开头,我尝试过:
set_time_limit(0);
ini_set('max_execution_time',0);
但是它似乎没有作用,我的脚本总是在30秒(.ini值)之后超时。 从SO的读物来看,这些方法仅在“ PHP Safe mode is disabled”下有效。但是,来自the PHP website:
从SO:
所以我的问题:
- 自PHP 5.4.0起,
set_time_limit
和ini_set('max_execution_time',0)
是否应该在没有附加.ini配置的情况下工作? (因此,在PHP 7.4.8上) - 我不想在.ini中设置5分钟,那么使只有1个脚本的最大执行时间更长的真正方法是什么?
- 现在没有安全模式了,这些方法应该随时可用吗?
非常感谢
解决方法
一种选择是使用后台进程。 基本上,您会创建某种形式的队列,您的调用脚本将写入该队列,然后运行从该队列读取的cron作业,然后cron作业将运行您的脚本。
php超时仅适用于从http服务器运行的脚本,不适用于从批处理/ cron运行的脚本,因此您的cron作业可以永久运行,而与您在php.ini中设置的内容无关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。