我添加了set_time_limit(0);
函数来增加执行时间,但最多只执行2-3分钟。
error_reporting(E_ALL);
error_reporting(1);
set_time_limit(0);
我想搜索一个长篇大论的网站链接。
非常感谢任何帮助。
非常感谢。
答案 0 :(得分:205)
PHP文件(例如,my_lengthy_script.php)
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
.htaccess文件
<IfModule mod_php5.c>
php_value max_execution_time 300
</IfModule>
更多配置选项
<IfModule mod_php5.c>
php_value post_max_size 5M
php_value upload_max_filesize 5M
php_value memory_limit 128M
php_value max_execution_time 300
php_value max_input_time 300
php_value session.gc_maxlifetime 1200
</IfModule>
如果是wordpress,请在config.php文件中设置
define('WP_MEMORY_LIMIT', '128M');
如果是drupal,sites / default / settings.php
ini_set('memory_limit', '128M');
如果您正在使用其他框架,
ini_set('memory_limit', '128M');
您可以将内存增加为千兆字节。
ini_set('memory_limit', '3G'); // 3 Gigabytes
259200表示: -
( 259200/(60x60 minutes) ) / 24 hours ===> 3 Days
答案 1 :(得分:10)
在htaccess文件中添加以下代码行。我希望它能解决你的问题。
<IfModule mod_php5.c>
php_value max_execution_time 259200
</IfModule>
答案 2 :(得分:3)
好吧,既然你在共享服务器上,你就无法做任何事情。它们通常设置最大执行时间,以便您无法覆盖它。我建议你联系他们。
答案 3 :(得分:1)
嗯,有两种方法可以改变max_execution_time 1.您可以直接在php.ini文件中设置它 2.其次,您可以在代码中添加以下行。
ini_set('max_execution_time', '100')
答案 4 :(得分:0)
您的网络服务器可能设置了限制。某些浏览器/代理也会实现超时。通过HTTP请求调用长时间运行的进程非常愚蠢。解决问题的正确方法(假设您无法更快地进行处理)是使用HTTP请求触发Web服务器会话组之外的处理,然后通过HTTP轮询状态,直到您获得结果集。 / p>
答案 5 :(得分:0)
这是一个老问题,但如果今天有人发现它有机会通过php-fpm和mod_fastcgi运行php。在这种情况下,这里没有任何内容可以帮助延长执行时间,因为Apache将终止与30秒内不输出任何内容的进程的连接。扩展它的唯一方法是在apache(module / site / vhost)配置中更改-idle-timeout。
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /run/php/php7.0-fpm.sock -idle-timeout 900 -pass-header Authorization
答案 6 :(得分:0)
对于PHP 7,使用 mod_php7.c 代替 mod_php5.c
示例
cur.execute("SELECT * FROM jobs_table")
答案 7 :(得分:0)
尝试设置更长的max_execution_time
:
<IfModule mod_php5.c>
php_value max_execution_time 300
</IfModule>
<IfModule mod_php7.c>
php_value max_execution_time 300
</IfModule>