PHP- cannot change max_execution_time in xampp

2019-02-21 18:54发布

I've tried everything to change the max_execution_time of a php crawler script so that it can run an infinite amount of time.

I have changed the php.ini file setting max_execution_time to 0 or 100000000 but with no change

I've also tried setting it from the php script itself by using ini_set('max_execution_time', 0);

All php scripts throw the same error Fatal error: Maximum execution time of 3000 seconds exceeded, what could I be missing and how can I make sure there is no max execution time limit?

php script

<?php
ini_set('MAX_EXECUTION_TIME', -1);
error_reporting(E_ALL);  // turn on all errors, warnings and notices for easier debugging
//ini_set('max_execution_time', 123456);
ini_set('max_input_time', -1);
ini_set('memory_limit', '512M');
set_time_limit(0);
date_default_timezone_set('Europe/London');

/*code which scrapes websites*/

?>

phpinfo()

max_execution_time  0   0
max_input_time     -1   -1

11条回答
冷血范
2楼-- · 2019-02-21 19:17

You have to change both of these in you php.ini ( and check if that's the right php.ini by finding the location in phpinfo(); output! )

max_execution_time = 0
max_input_time = 0

And after that check if some php file is not overwriting those variables locally.

查看更多
Deceive 欺骗
3楼-- · 2019-02-21 19:19

open php.ini notepad file and search or find upload_max_filesize = 1000M and you should change on Post_max_filesize = 1000M then restart your xampp and refresh the local phpmyadmin..

查看更多
smile是对你的礼貌
4楼-- · 2019-02-21 19:23

You shouldn't let your crawler run under apache, it's better to run it stand-alone via cli as part of a Gearman setup.

That way it won't hog your web server and it can run as long as you want. You can find many bindings for Gearman that you can use, including PHP of course.

查看更多
淡お忘
5楼-- · 2019-02-21 19:27

what you are doing is just setting the max_execution_time to whatever inside your page. you can't change this using ini_set. you can change the memory_limit only.

see more details here... from the php official site.

if you want them to be changed, change in php.ini.

查看更多
Luminary・发光体
6楼-- · 2019-02-21 19:28

I found the following in the xampp documentation. Maybe you are trying to edit the wrong php.ini file?

Why have changes in my php.ini no effect?

Since XAMPP 1.7.1 the "php.ini" is only in the directory "\xampp\php". Till XAMPP 1.7.0 is was in the directory "\xampp\apache\bin".

If a change in the "php.ini" have no effect, it's possible PHP is still using an other one. You can verify this with phpinfo(). Go to the URI localhost/xampp/phpinfo.php and search for "Loaded Configuration File". This value shows you the "php.ini" PHP is really using.

Info: After changing the "php.ini" you have to restart Apache, thus Apache/PHP can read the new settings.

查看更多
登录 后发表回答