php가 mssql을 지원하지 않는 문제에 대한 해결 방법: 1. "SQLSRV20.EXE"를 다운로드합니다. 2. php 확장 폴더 ext에 파일을 추출합니다. 3. php.ini 파일을 수정합니다. 4. Apache를 저장하고 다시 시작합니다.
이 글의 운영 환경: windows7 시스템, php5.3 버전, DELL G3 컴퓨터
PHP 시스템이 mssql을 지원하지 않는 문제에 대한 해결 방법, php5.3에서 지원하지 않는 문제에 대한 해결 방법 mssql 데이터베이스에 연결할 수 없습니다
이 문서에서는 php5.3이 mssql 데이터베이스에 연결할 수 없는 문제에 대한 솔루션 예제를 설명합니다.
분석은 다음과 같습니다.
php5.3부터 시스템은 mssql_connect 함수 연결을 지원하지 않습니다. 이전에는 com 인터페이스를 사용하여 달성할 수 있다고도 했습니다. 이제 해결하는 다른 방법을 소개하겠습니다. php5.3이 mssql 데이터베이스에 연결할 수 없는 문제입니다.
Windows 시스템에서 PHP5.3 이상의 버전은 더 이상 mssql 확장을 지원하지 않습니다.
먼저 http://msdn.microsoft.com/en-us/sqlserver/ff657782 .aspx 다운로드를 클릭하여 SQLSRV20.EXE를 다운로드합니다.
php 확장 폴더 ext에 파일을 추출하고 php.ini를 열고 끝에 추가하세요.
코드는 다음과 같습니다.
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_nts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc6.dll
저장 후 아파치를 다시 시작합니다. 첨부된 내용은 간단한 PHP 연결 예시입니다. 코드는 다음과 같습니다.
코드는 다음과 같습니다.
<?php $serverName = "(127.0.0.1)"; $connectionInfo = array( "UID"=>"root", "PWD"=>"root2010", "Database"=>"master"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established.n"; } else { echo "Connection could not be established.n"; die( print_r( sqlsrv_errors(), true)); } ?>
wamp5.1 통합 설치 패키지를 사용하고 있으며 Windows Server 2008에서 테스트했습니다. php5.4 이상에서 테스트에 성공하지 못했습니다.
이 확장 프로그램을 사용하는 경우 SQL Server 2005 이상 서버(예: SQL Server 2008)에 연결하려면 먼저 컴퓨터에 SQL Server Native Client도 설치해야 합니다. http://download.microsoft.com/download/0/E/6/0E67502A -22B4-4C47-92D3-0D223F117190/sqlncli .msi
이 확장은 sqlsrv_로 시작하는 일련의 함수를 PHP에 추가합니다. 함수 참조는 다음과 같습니다.
코드는 다음과 같습니다.
sqlsrv_begin_transaction sqlsrv_cancel sqlsrv_client_info sqlsrv_close sqlsrv_commit sqlsrv_configure sqlsrv_connect sqlsrv_errors sqlsrv_execute sqlsrv_fetch sqlsrv_fetch_array sqlsrv_fetch_object sqlsrv_fetch_metadata sqlsrv_free_stmt sqlsrv_get_config sqlsrv_get_field sqlsrv_has_rows sqlsrv_next_result sqlsrv_num_fields sqlsrv_num_rows sqlsrv_prepare sqlsrv_query sqlsrv_rollback sqlsrv_rows_affected sqlsrv_send_stream_data sqlsrv_server_info
자세한 지침은 다음과 같습니다. 방금 자동 압축 풀기 파일에 SQLServerDriverForPHP.chm이 있습니다. 도움말 파일에서 찾아 API 참조 노드를 클릭하세요.
다른 odb 연결 방법을 보면 코드는 다음과 같습니다.
코드는 다음과 같습니다.
$dbhost = ''; $dbuser = ''; //你的mssql用户名 $dbpass = ''; //你的mssql密码 $dbname = ''; //你的mssql库名 $connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass"); $sql="select * from content"; $exec=odbc_exec($connect,$sql); while($row = (odbc_fetch_array($exec))) { $row['id'] //?取字段值 … }
추천 학습: "PHP 비디오 튜토리얼"
관련 소개:
1 PDO를 통해 MSSQL에 성공적으로 연결하는 단계는 다음과 같이 간략하게 요약됩니다.
1. SQL Server용 PHP용 Microsoft 드라이버(현재 2.0 및 3.0 버전이 있으며 각각 ts 및 nts 버전으로 구분됩니다. phpinfo()를 사용할 수 있습니다. Thread Safety:enable이 ts인지 확인하세요. 자세한 내용은 드라이버 설명서를 참조하세요. )
2. php 폴더의 ext 폴더에 드라이버를 복사한 후 php.ini 확장자 확장명=php_pdo_sqlsrv_53_ts_vc6.dll을 수정합니다.
3. Microsoft SQL Server 2008 R2 Native Client 설치 다운로드
테스트 코드:
<?php try { $hostname = "192.168.1.100"; $dbname = "Northwind"; $username = "sa"; $pwd = "pwd100"; $dsn="sqlsrv:Server=$hostname;database=$dbname"; $conn = new PDO ($dsn,$username,$pwd); $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); echo "mssql database connnection sucessed!"; } catch (PDOException $e) { echo "Failed to get DB handle: " . $e->getMessage() . "\n"; exit; } ?>
2. Windows 시스템에서는 PHP5.3 이상 버전에서는 더 이상 mssql 확장을 지원하지 않으므로 SQL Server와 통신해야 하는 경우 http://msdn.microsoft com/en-us/sqlserver/ff657782로 이동해야 합니다. .aspxDownload Microsoft에서 제공하는 PHP용 SQL Server 드라이버입니다. 압축을 풀면 다음과 같은 파일이 나옵니다.
php_sqlsrv_52_nts_vc6.dll php_sqlsrv_52_ts_vc6.dll php_sqlsrv_53_nts_vc6.dll php_sqlsrv_53_nts_vc9.dll php_sqlsrv_53_ts_vc6.dll php_sqlsrv_53_ts_vc9.dll php_sqlsrv_license.rtf SQLServerDriverForPHP.chm SQLServerDriverForPHP_Readme.htm
그 중 52와 53은 PHP 5.2 버전을 나타내며, vc9는 IIS를 웹 서버로 사용한다는 의미입니다. .
구성에 따라 해당 DLL 파일을 php 설치 디렉터리의 ext 폴더에 복사합니다. 그런 다음 php.ini를 열고 다음 명령문을 추가하여 php_sqlsrv 및 php_pdo_sqlsrv 확장을 엽니다.
——————— ——— ——————————
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_ts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_ts_vc6.dll
———————————————
여기서 53은 php5.3 버전을 의미합니다. 52로 변경합니다. PHP 버전이 스레드로부터 안전한 경우 PHP 설치 디렉터리에 여기에 있는 두 줄의 명령문에 해당하는 php5ts.dll이 있어야 합니다. php5nts.dll인 경우 위 명령문은 다음과 같아야 합니다.
—————————————————————
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_nts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc6.dll
——————————————————
압축본에는 패키지 각 버전의 dll 파일을 주의 깊게 확인할 수 있습니다.
확장 기능을 켠 후 apache를 다시 시작하면 sqlserver에 연결할 수 있습니다. 단, Microsoft SQL Server 2008 R2 Native Client를 설치하지 않은 경우에는 한 가지 더 주의할 점이 있습니다. microsoft.com/en-us Microsoft의 이 확장 패키지에는 이 지원이 필요하므로 /library/cc296170(SQL.90).aspx를 다운로드하여 설치하십시오.
모든 것이 준비되면 PHP 코드를 작성할 수 있습니다. The SQL Server Driver for PHP를 다운로드하면 압축을 푼 폴더에 도움말 문서가 있습니다. 다음은 웹마스터가 소개하는 간단한 예입니다.
<?php //本地测试的服务名 $serverName = “(127.0.0.1)”; //使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名 //如果你使用的是windows身份验证,那么可以去掉用户名和密码 $connectionInfo = array( “UID”=>”root”, “PWD”=>”root2010″, “Database”=>”master”); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo “Connection established.\n”; } else { echo “Connection could not be established.\n”; die( print_r( sqlsrv_errors(), true)); } ?>
위 내용은 PHP 시스템이 mssql을 지원하지 않는 문제에 대한 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!