PHP 5.6.11 SQL Server2008R2_php 예제에 액세스하는 여러 상황에 대한 자세한 설명

WBOY
풀어 주다: 2016-08-17 13:02:32
원래의
1371명이 탐색했습니다.

PHP는 MySQL을 기본적으로 지원하지만 때로는 SQL Server에 액세스하고 싶을 때도 있습니다.

최근 몇 가지 정보를 찾았고, 시간 제약으로 인해 PHP가 SQLSvr에 액세스하는 여러 가지 상황을 성공적으로 테스트했습니다. 테스트된 기록은 다음과 같습니다.

테스트 환경: win7 x64 sp1, IIS 7.5, Apache 2.4 32비트 버전, PHP 5.2.6 win32, PHP 5.6.11 win32 ts(스레드 안전 버전)


참고: "SQL Server용 PHP용 Microsoft 드라이버" 드라이버는 현재 32비트 버전만 있으므로 SQL Server 데이터베이스를 사용하는 경우 PHP 64비트를 사용하지 않는 것이 좋습니다. SQL Server 데이터베이스 문제에 연결할 수 없게 됩니다!

php 5.2.6이 iis에서 sql2000에 성공적으로 액세스했습니다


php 5.2.6이 iis에서 sql2008r2에 성공적으로 액세스했습니다


php 5.6.11이 Apache에서 sql2008r2에 성공적으로 액세스했습니다


【5.2.6 -> SQL2000】


왜 이렇게 오래된 PHP 버전 5.2.6을 테스트에 사용해야 합니까? PHP 5.2 버전에는 php_mssql.dll 모듈이 내장되어 있기 때문입니다.


기본적으로 mssql2000을 지원하는 것으로 보이는 php.ini에서 Extension=php_mssql.dll 구성 옵션을 열었습니다.


phpinfo를 열면 관련 지원 모듈 콘텐츠를 볼 수 있습니다:


이제 PS.IIS 7.0에서 PHP를 설치하는 것이 편리해졌습니다. 타사 가젯 PHP 관리자를 통해 설치할 수 있으며, iis에서 PHP 버전을 쉽게 전환할 수도 있습니다. 여기서는 소개하지 않겠습니다


IIS 7용 PHP 관리자 다운로드 및 설치 주소: http://phpmanager.codeplex.com/


작은 테스트 루틴 작성:

<&#63;php
$server ="127.0.0.1\sql2000"; //服务器IP地址,如果是本地,可以写成localhost
$uid ="sa"; //用户名
$pwd ="yoooko"; //密码
$database ="master"; //数据库名称
//进行数据库连接
$conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");
mssql_select_db($database,$conn);
//执行查询语句
$query ="select * from cs";
$row =mssql_query($query);
//打印输出查询结果
while($list=mssql_fetch_array($row))
{
print_r($list);
echo "<br>";
}
&#63;>
로그인 후 복사
IIS 7.5에서 실행한 결과는 다음과 같습니다. 성공!


【5.6.11 -> SQL2008R2】


PHP 5.6 이상에는 더 이상 php_mssql.dll이 없으며, 더 이상 sql2000 이상 버전의 SQL Server를 기본적으로 지원하지 않는 것 같습니다. 타사 모듈을 사용해야 합니다.


SQL Server용 PHP용 Microsoft 드라이버


http://www.microsoft.com/en-us/download/details.aspx?id=20098


다운로드 링크 주소에는 4개의 파일이 있습니다:

•SQLSRV30.EXE

•SQLSRV31.EXE
•SQLSRV32.EXE
•SQLSRV40.EXE

각각 다른 PHP 버전 지원

•버전 4.0은 PHP 7.0 이상을 지원합니다

•버전 3.2는 PHP 5.6, 5.5, 5.4를 지원합니다
•버전 3.1은 PHP 5.5 및 5.4를 지원합니다
•버전 3.0은 PHP 5.4를 지원합니다.

PHP 5.2용 SQLSRV20.EXE를 다운로드하려면 이 파일을 온라인에서 쉽게 찾을 수 있습니다.


(5.2와 같은 이전 버전은 오래 전에 제거되었어야 했지만 특정 환경에서는 여전히 사용해야 합니다.)


php_pdo_sqlsrv_52_ts_vc6.dll


php_sqlsrv_52_ts_vc6.dll


1. PHP 5.6.11 win32 ts가 있는데 이것을 사용해야 합니다


php_sqlsrv_56_ts.dll

php_pdo_sqlsrv_56_ts.dll

이 두 파일을 phpext 디렉토리

에 복사하세요.

2. php.ini에 다음 두 문장을 추가합니다.


확장자=C:PHP5extphp_sqlsrv_56_ts.dll

확장명=C:PHP5extphp_pdo_sqlsrv_56_ts.dll

3. IIS 또는 Apache를 다시 시작합니다.


4. phpinfo를 통해 다음 모듈 표시를 볼 수 있습니다. 현재 PHP는 SQL Server 2008R2에 액세스할 수 있어야 합니다.


5. 확인을 위한 작은 프로그램을 작성하세요.


다음 메시지가 나타나는 경우:

SQL Server® - Windows용 Microsoft® ODBC Driver 11을 설치해야 할 수도 있습니다

다운로드 주소: https://www.microsoft.com/zh-cn/download/details.aspx?id=36434

정확하다면 괜찮을 것입니다.

PS. 새로운 모듈은 PDO를 통해 SQL Server 2008R2에 접근하기 때문에, 로컬로 접근할 경우에는 IP 주소와 sa 계정을 통해서도 바로 접근이 가능합니다.

php와 sql2008r2가 서로 다른 컴퓨터에 있는 경우 액세스하려면 TCP 포트 1433을 설정해야 합니다. 아래 두 번째 그림을 참조하여 동적 포트를 0으로 변경하고 포트를 14333으로 설정합니다. SQL2000이 이미 1433을 점유하고 있는 경우 추가에 액세스합니다. 주소 뒤에는 xxxx 포트 번호

sqlsrv:서버=192.168.1.xxxsql2008r2,14333;데이터베이스=마스터



위 내용은 편집자가 소개한 PHP 5.6.11에서 SQL Server2008R2에 액세스하는 여러 가지 상황에 대한 자세한 설명입니다. 궁금한 사항이 있으면 메시지를 남겨주시면 편집자가 안내해 드리겠습니다. 시간 내에 답장을 보내주세요. 또한 Script House 웹사이트를 지원해 주시는 모든 분들께 감사의 말씀을 전하고 싶습니다!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿