10 ответов:
вам нужно изменить некоторые настройки в PHP.ini:
upload_max_filesize = 2M ;or whatever size you want max_execution_time = 60 ; also, higher if you must - sets the maximum time in secondsбыли ваши PHP.ini находится в зависимости от вашей среды, дополнительная информация:http://php.net/manual/en/ini.list.php
вы должны быть в состоянии сделать во время выполнения тоже с помощью
set_time_limit(100);http://php.net/manual/en/function.set-time-limit.php
или в вашем vhost-config
php_admin_value max_execution_time 10000наличие глобального ограничения времени выполнения, которое является низким, в основном является хорошей идеей для повышения производительности в не очень надежных приложениях. Таким образом, вы можете позволить только этим сценариям работать дольше, что абсолютно необходимо.
p. s.: Dont забудьте о post_max_size и upload_max_filesize (как первый ответ сказал allready)
чтобы завершить ответ Ханнеса.
вам нужно изменить некоторые настройки в PHP.ini:
upload_max_filesize = 2M ;or whatever size you want max_execution_time = 60 ; also, higher if you mustесли кто-то хочет поставить в неограниченном (я не знаю, почему, но если вы хотите), вы можете поставить дважды в 0 :
вам нужно изменить некоторые настройки в PHP.ini:
upload_max_filesize = 0 max_execution_time = 0и если вы не знаете, где находится ваш PHP.Ини. Вы можете сделать файл "имя.PHP" в ваш сервер и поставить :
<?php phpinfo(); ?>и на вашем сайте, вы можете увидеть конфигурация вашего php.ini и он отмечен, где он находится.
Edit on 9 January 2015:
если вы не можете получить доступ к php.Ини, у вас есть еще два варианта.
вы можете установить эту строку непосредственно в вашем " имя.php " файл, но я не нахожу для upload_max_filesize для этой опции:
set_time_limit(0);или в ".htaccess"
php_value upload_max_filesize 0 php_value max_execution_time 0
Если то, что вам нужно сделать, является конкретным только для 1 или 2 страниц я предлагаю использовать set_time_limit так что это не повлияло на все приложение.
set_time_limit(some_values);но конечно эти 2 значения (post_max_size & upload_max_filesize) подлежат исследованию.
вы либо можете установить его с помощью безопасность функции
ini_set('post_max_size','20M'); ini_set('upload_max_filesize','2M');или непосредственно в PHP.ini-файл, как ответ выше Ханнеса, или даже установить его iin .htaccess или как ниже
php_value upload_max_filesize 2M php_value post_max_size 20M
в дополнение к вышеприведенным ответам, вы можете использовать :
http://php.net/manual/en/function.set-time-limit.php
передает
0в качестве аргумента заставит ваш скрипт работать без ограничения по времени.
Если вы не можете редактировать PHP.ini (например, на вашем сервере) вы можете попытаться изменить php.параметры ini из вашего php кода. Попробуйте:
ini_set('max_execution_time', 'NUMBER OF SECONDS TO ALLOW BEFORE TIMEOUT');Если это не работает, попробуйте также установить "set_time_limit" таким же образом, кроме того, я бы сказал, что ваш единственный вариант-связаться с вашим хостом. Эти параметры не могут быть изменены в безопасном режиме.
У вас была опечатка: ini_set ('max_input_time', '200M') - набор значений должен быть int, как ini_set ('max_input_time','200')
проверьте, если вы находитесь в безопасном режиме - если нет-установите ограничение по времени (локальное значение) на то, что вы хотите:
if(!ini_get('safe_mode')){ echo "safe mode off"; set_time_limit(180);// seconds phpinfo();// see 'max_execution_time' }*вы не можете установить ограничение по времени таким образом, если безопасный режим 'on'.
сначала проверьте php.путь к файлу ini от phpinfo (); а затем изменил PHP.INI params:
upload_max_filesize = 1000M memory_limit = 1500M post_max_size = 1500M max_execution_time = 30 restarted Apacheset_time_limit(0); // параметр safe_mode выключен
безопасность('max_execution_time', 500); //500 секунд
Примечание: вы также можете использовать команду для поиска php.ini в linux
locate php.ini
Я знаю, что вы специально спрашиваете о таймауте PHP, но то, что никто другой, похоже, не упоминал, заключается в том, что на веб-сервере также может быть таймаут, и он может выглядеть очень похожим на таймаут PHP.
Так что если вы пытались:
- увеличение времени ожидания в php.ini путем добавления строки: max_execution_time = {количество секунд т. е. 60 за одну минуту}
- увеличение времени ожидания в самом скрипте путем добавления: ini_set ('max_execution_time', ' {количество секунд т. е. 60 за одну минуту}');
и вы проверили с помощью функции phpinfo (), что max_execution_time действительно был увеличен, то вы можете попробовать добавить это .htaccess, который будет убедиться, что Apache сам не тайм-аут:
RewriteRule .* - [E=noabort:1] RewriteRule .* - [E=noconntimeout:1]подробнее здесь: https://www.antropy.co.uk/blog/php-script-keeps-timing-out-despite-ini-set/
Comments