Я надеюсь, что вы все можете мне немного помочь. Я потратил около 7 часов, пытаясь найти ответ, и до сих пор пробовал много вещей.
У меня есть PHP-скрипт, который используется для синхронизации файлов/данных базы данных между двумя серверами. Прежде чем вы, ребята, спросите, этот процесс необходим для этого проекта и должен оставаться на месте.
Сценарий в основном находит все файлы в каталоге, которые были изменены за последние 72 часа, и отправляет их по SFTP на другой сервер, заменяя все необходимые файлы. Затем он создает копию резервной базы данных, удаляет определенные таблицы/строки, изменяет другие и экспортирует файл .sql. Затем он передает этот файл .sql по SFTP на другой сервер и вызывает включение файла на втором сервере, который импортирует файл .sql, заменяя существующую базу данных обновленными данными.
Все это работает...
Проблема в том, что независимо от того, какие изменения я вношу в конфигурацию Apache, сценарий всегда выдает мне ошибку 503 через 30 секунд каждый раз (точнее, между 30,02 и 30,04 секундами). Однако PHP-скрипт продолжает работать и успешно завершает все операции, включая запись в лог-файл, примерно за 60-61 секунду. В журналах Apache также нет никаких ссылок на какие-либо ошибки.
Я проверил все используемые файлы .conf, и ни в одном из них не упоминается 30-секундный тайм-аут. В моем httpd.conf я добавил следующие строки:
TimeOut 300
ProxyTimeOut 300
KeepAlive On
KeepAliveTimeout 60
Я также установил max_execution_time и memory_limit в php-скрипте на 120 и 2048M соответственно, чтобы исключить это во время тестирования.
Страница должна отображать сообщение об успешном завершении для пользователя с отчетом о том, что было изменено/обновлено. Однако с ошибкой 503 я не могу этого сделать. Поэтому я хочу избавиться от этого ограничения 503, чтобы он мог правильно отображать конечный результат синхронизации. Если честно, я не слишком знаком с конфигурацией Apache, поэтому любая помощь/идеи о том, что может вызвать это/где искать, будут очень оценены!
Заранее спасибо!