Влияет ли на PHPs SoapServer максимальное время выполнения?

StackOverflow https://stackoverflow.com/questions/1886936

Вопрос

Недавно я создал Java-интерфейс для веб-сервиса PHP, который использует PHPs SoapServer.

Мое приложение выполняет длительную синхронизацию данных, и из того, что я знаю из PHP, я подготовил себя к получению закрытых подключений из-за max_execution_time предел.

Но я никогда не получаю никаких сообщений об ошибке, как будто экземпляр SoapServer работает вечно.

Мое лучшее предположение здесь заключается в том, что я действительно не понимаю, как работает SoapServer.Итак, кто-нибудь может пролить некоторый свет на это?Не влияет ли SoapServer на max_execution_time?

Редактировать: В моих тестах max_execution_time установлено значение 5 минут, но моя программа работает часами.

Это было полезно?

Решение

Если в max_execution_time имеет значение 0 либо в вашем php.ini, либо с помощью ini_set() или set_time_limit() в вашем сценарии тогда не было бы никаких ограничений.Может ли это быть причиной?

Редактировать:Кроме того, я только что заметил это в руководство пользователя:

Примечание:Функция set_time_limit() и конфигурационная директива max_execution_time влияют только на время выполнения самого скрипта.Любое время, потраченное на действия, которые происходят вне выполнения скрипта, такие как системные вызовы с использованием system(), потоковые операции, запросы к базе данных и т.д.не учитывается при определении максимального времени выполнения скрипта.Это неверно в Windows, где измеренное время является реальным.

Возможно, вас не сокращают, потому что большая часть времени тратится на потоковую передачу данных или выполнение запросов, которые, согласно этому, не будут засчитываться в лимит времени.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top