Не могу уменьшить время выполнения PHP / тайм-аут

У меня проблема с тайм-аутом / временем выполнения с использованием PHP. Я пытаюсь проверить, доступна база данных Filemaker или нет, с помощью сценария ниже:

$connected = $fm->listLayouts();
if(FileMaker::isError($connected))
{
die('Error - ' . $connected->getCode() . ' ' . $connected->getMessage());
}

Проблема в том, что он берет скрипт 60с чтобы показать ниже ошибку:

Ошибка — 7 Ошибка связи: (7) Не удалось подключиться к порту 103.22.180.61: время ожидания истекло

Это слишком долго. Есть ли способ написать в PHP сценарий, чтобы попытаться подключиться к базе данных, и если он не работает в течение 10 секунд, просто перестаньте пытаться подключиться и сразу же показать ошибку (или сделать что-нибудь еще)? Я старался…

set_time_limit(10);
if(FileMaker::isError($connected))
{
die('Error - ' . $connected->getCode() . ' ' . $connected->getMessage());
}

Но это не сработало. Еще 60 сек. Есть идеи по этому поводу? Я пытался исследовать сам в течение часа, но безуспешно … Большое спасибо!

0

Решение

max_execution_time или же set_time_limit чисто только для PHP скрипта. Если соединение с Filemaker возможно, время ожидания установлено где-то еще в конфигурации Filemaker.

Из PHP Doc;

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector