на php делаю sleep(10*60) на 10 мин на одних хостингах после выхода из сна скрипт продолжает работать, а на других он так и не продолжает работать подозреваю здесь дело в настройках apacha, как нить это можно обойти? или в чем еще может быть дело?
apache тут непричем дело в настройках php.ini должно быть max_execution_time = 0 а там везде max_execution_time = 30 и больше 30 сек скрипт работать не будет
не знаю, хостинг не мой в настройках апача есть timeout но он для соединений: - The total amount of time it takes to receive a GET request. - The amount of time between receipt of TCP packets on a POST or PUT request. - The amount of time between ACKs on transmissions of TCP packets in responses. время работы скрипта не видно
не в конфигах апача а в конфиге php. <?php phpinfo(); ?> max_execution_time = ? max_input_time =? memory_limit = ?
Настройки на чужом сервере: max_execution_time = 30 - при таких настройках на моем сервере скрипт работает нормально после sleep'а max_input_time = 60 memory_limit = 64 - каким образом объем памяти влияет на время работы скрипта?
Хм... Какой таймаут у апача, у сервака на котором все окей пашет? Дело в том что если сервак рвет соединение то скрипт тоже завершится ибо результаты то отдавать некому будет. есть в PHP параметр , что-то типо IgnoreUserAborted (или как-то так), если рвется соединение или ты нажал крестик в браузере то скрипт плюет на это, но вот не знаю толи в скрипте это прописывается толи в конфиге. ОЗУ это все! З.Ы. Я не знаток PHP и поэтому мои ответы не есть достоверными на все 100% а являются моими рассуждениями, основанными на тех знаниях что все-же есть.
на моем сервере в httpd.conf и инклудах не нашел параметра timeout, видимо он выставляеца по дефолту если не прописан у меня стоит в скрипте: ignore_user_abort(true); по-идее после разрыва соединения скрипт должен продолжать работать
Не венда только что закончил работать тестовый скрипт: <?php echo "Test 3"; ignore_user_abort(true); sleep(2*60*60); $Test = fopen('test.ok','w'); fclose($Test); ?> после двух часов сна он проснулсо и создал файл при настройках которые я указывал выше
Протестил этот скрипт на том хостинге - файл не создалсо Так кто-нить знает причину того что кто то убивает скрипт, может быть из-за того что там PHP as CGI и какой-то процесс мониторит то. что процесс PHP долго сидит в памяти и из-за этого его прибивает?