Получил письмо с жалобой, что один из производственных серверов стал вместо отчетов возвращать сообщение об ошибке:
"Fatal error: Maximum execution time of 30 seconds exceeded in ..."
Ну что ж, не хватает 30 секунд, установленных по умолчанию?
Не проблема, в файле php.ini увеличил значение параметра max_execution_time в php.ini до 60 секунд.
Но проблема осталась, только изменилось сообщение об ошибке:
"Fatal error: Uncaught exception 'MyException' with message 'Database query failed! Query: exec rep_period...' Error: Timeout expired ' in [filename]:37 Stack trace: #0 [internal function]: __lambda_func(1024, 'Database query ...', [filename]', 37, Array) #1 [filename](37): trigger_error('Database query ...') #2 [filename](41): db_execute(Object(com), 'exec rep_period...') #3 {main} thrown in [filename] on line 37"
Почитал документацию и понял, что действие max_execution_time не распространяется на обращения к базе данных. Значит надо смотреть способ подключения сервера к базе данных. В данном случае в код скрипта добавил строку:
$cnn->CommandTimeout=60;
и всё получилось.