Тайм-аут соединения с сервером MSSql

У меня есть вопрос, пожалуйста, помогите мне.
Я хочу подключиться к серверу mssql с помощью php, я хочу установить ограничение по времени 15 секунд. Я хочу проверить, доступна ли база данных за 15 секунд.
Я пытался использовать следующий код, но не работает.
Я не хочу делать это, делая изменения уровня сервера в файле php.ini.
Я хочу сделать это только по php.

ini_set('mssql.connect_timeout',15);
connection = mssql_connect($_POST['DB_HOST'],$_POST['DB_USER'],$_POST['DB_PASS']);
if(!$connection) {
throw new Exception('Unable to connect database');
} else {
$database = mssql_select_db($_POST['DB_NAME'], $connection);
if(!$database)  {
throw new Exception('Unable to select database');
} else {
echo "Connected";
}
}

0

Решение

при установке set_time_limit () продолжительность sleep () будет игнорироваться во время выполнения. Следующее иллюстрирует:

<?php
echo '<html><body>';
set_time_limit(1);
$i = 0;
while($i++ < 100000001){
if($i % 100000 == 0){
echo $i / 100000, "<br/>\n";
}
}
echo "done.<br/>\n";

// will not echo 'done.'.
?>

Хотите узнать больше, смотрите здесь: —
http://php.net/manual/en/function.set-time-limit.php

1

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

Вы можете инициализировать локальные настройки в файле php.
Вы можете установить значения, такие как max_execution_time, default_socket_timeout, memory_limit, mysql.connect_timeout, user_ini.cache_ttl, display_errors и log_errors
Всегда приятно проверять ошибки в PHP-файлах с помощью error_reporting.

Ниже приведен пример сценария для установки значений ini_set.

Если вы не хотите устанавливать каждый раз скрипт PHP, просто установите значения в файле php.ini на вашем сервере / компьютере.

<?php
ini_set('max_execution_time', 6000);
ini_set("default_socket_timeout", 6000);
ini_set('memory_limit','256M');
ini_set('mysql.connect_timeout', 6000);
ini_set('user_ini.cache_ttl', 6000);
ini_set('display_errors',0);
ini_set('log_errors',1);
error_reporting(E_ALL);
//phpinfo();
0