ODBC 연결을 사용하여 SQL Server 2005에 연결하는 명령 줄 PHP 스크립트가 있습니다. odbc_exec()를 사용하여 처리하는 데 시간이 걸릴 수있는 저장 프로 시저를 실행하며 시간 초과를 원하지 않습니다.PHP odbc_exec 시간 초과를 관리하는 방법은 무엇입니까?
odbc_exec()에 대한 시간 초과 설정 방법과 관련된 PHP 설명서에서 아무것도 찾을 수 없었습니다. 그것은 무한 대기로 기본 설정되어 있습니까?
ODBC 연결을 사용하여 SQL Server 2005에 연결하는 명령 줄 PHP 스크립트가 있습니다. odbc_exec()를 사용하여 처리하는 데 시간이 걸릴 수있는 저장 프로 시저를 실행하며 시간 초과를 원하지 않습니다.PHP odbc_exec 시간 초과를 관리하는 방법은 무엇입니까?
odbc_exec()에 대한 시간 초과 설정 방법과 관련된 PHP 설명서에서 아무것도 찾을 수 없었습니다. 그것은 무한 대기로 기본 설정되어 있습니까?
php.net에 따르면 당신은 odbc_setoption()
를 사용할 수 있습니다
$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);// 30 seconds timeout
odbc_execute($result);
그래서 당신은 정말 여기에서 할 수 거기 당신의 필요
에 따라 약간의 더 큰 수에 제한 시간을 늘릴 수 있습니다. PHP의 기본 스크립트 실행 시간은 30 초로 설정됩니다. 이 (매뉴얼에 있음) set_time_limit()
기능을 포함하여이 설정을 변경하는 방법에는 여러 가지가 있으며, 또한 php.ini 파일 내부에이 설정을 변경할 수 있습니다 ini_set
를 사용하거나 odbc_setoption
//extend execution time
$num_minutes = 5;
ini_set('max_execution_time', (60*$num_minutes)); //set timeout to 5 minutes
를 사용하여 실행 시간을 연장. 그러나 이들 모두는 아파치 서버가 제어 할 수있는 범위 내에서만 범위를 제어한다. 데이타베이스 자체에 타임 아웃이있는 경우, 개인적으로 설정된 실행 시간이 상승해도 여전히 전화를 끊고 오류를 반환합니다.
PHP를 일괄 적으로 사용하고 있으므로 CLI 버전에서는 max_execution_time을 0으로 하드 코딩합니다. – Alan
오, 그래서 odbc_exec() 대신 odbc_execute()를 사용해야합니다. 나는 그것을 시도 할 것이다, 고마워! – Alan
... 나는 그가 그 요점을 놓쳤다 고 생각한다. lol –