gpt4 book ai didi

PHP 脚本忽略 max_execution_time 并在第 600 秒停止

转载 作者:行者123 更新时间:2023-12-02 11:24:35 25 4
gpt4 key购买 nike

脚本在共享主机上运行并遵循根 php.ini 文件。它使用 PHP 5.4,因此没有安全模式,并且不使用 .htaccess 文件。我询问支持人员是否有任何限制,她说他们的超时时间是两个小时。在本地主机上,它不会停止,但会忽略我的限制。

此示例在 601-606 秒(约 10 分钟)而不是 1000 秒后停止:

// For immidiately printing in browser
header('Content-Type:text/html; charset=UTF-8');

$limit = 1000;

set_time_limit($limit);
ini_set('max_execution_time', $limit);
ini_set('max_input_time', $limit);
ini_set('memory_limit', $limit . 'M');
ini_set('max_input_time', $limit);
ini_set('post_max_size', $limit);
ini_set('file_uploads', $limit);
ini_set('upload_max_filesize', $limit);

$start = microtime(1);

// Every second prints elapsed seconds
for ($i=0; $i<1000; $i++){
echo str_pad(round(microtime(1)-$start), 4096);
flush();
sleep(1);
}
  1. 最重要的问题是为什么它会停止?我不需要 2 小时,但 20-30 分钟就可以了。
  2. 为什么它会忽略我的限制?我可以将 $limit 更改为“1”,但它不会改变任何内容。

最佳答案

首先关于超时:

set_time_limit() and max_execution_time don't count sleep(), system(), file_get_contents() and DB calls. That's why I thought the script ignores my limits.

我再次与支持人员交谈,结果发现停止脚本的不是 Apache 超时,而是监视脚本并在 10 分钟后为共享 IP 客户停止脚本的“某些东西”。我向他询问了完整的限制列表:

Type       | Dedicated | Shared-----------+-----------+-----------Apache/Web | 12 hours  | 10 minutesSSH/Shell  | 2 hours   | 1 hourCron Jobs  | 1 hour    | 30 minutesDaemons    | Unlimited | 10 minutes

这就是它在 cron 中运行良好的原因。

关于PHP 脚本忽略 max_execution_time 并在第 600 秒停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com