У меня возникли проблемы с медленным запросом, который занимает более 30 секунд, чтобы выполнять время от времени, поэтому я хотел бы увеличить тайм-аут sqlsrv_query.Изменение QueryTimeout из sqlsrv_query
Fatal error: Maximum execution time of 30 seconds exceeded
У меня возникли проблемы с моей PHP синтаксис, так как примеры на: http://php.net/manual/en/function.sqlsrv-query.php действительно не имеет смысла для меня.
В настоящее время мое подключение/установка выглядит следующим образом:
$testServer = 'IP\servername,PORT';
$testDetails = array('Database' => 'DBNAME', 'UID' => 'USERNAME', 'PWD' => 'Password');
$testConnect = sqlsrv_connect($testServer, $testDetails);
Я понимаю, что мне нужно, чтобы передать детали timout через качестве параметров в sqlsrv_connect
, но я не получаю мой синтаксис права.
(я оптимизировал запрос, насколько я могу, к сожалению, учитывая дизайн таблицы БД я не могу заставить его вернуться последовательно менее чем за 30 секунд.)
Благодарим вас за всесторонний ответ! (даже включая бит синтаксиса sqlsrv_query) Я изменил свой php.ini, и моя проблема была решена. – BernardV
«массив (« QueryTimeout »=> 30)» решил для меня аналогичную проблему. Благодарю. – luisdev
Добавление set_time_limit (300); к PHP-коду, который выполнял дорогостоящий запрос базы данных, было обходным решением, которое «исправило» еще одну подобную проблему с тайм-аутом, которую я имел в php-скрипте на медленном, старом и сердитом сервере. – luisdev