php가 sqlserver에 연결될 때 발생하는 오류에 대한 해결 방법: 1. php.in을 열고 확장명=php_mssql.dll의 주석 기호를 제거합니다. 2. ntwdblib.dll 파일을 찾습니다. 3. SQL Server 구성 관리자를 실행하고 포트를 설정합니다. .
이 글의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
php를 sqlserver에 연결할 때 오류가 발생하면 어떻게 해야 합니까?
문제에 대해 php가 sqlserver에 연결
php를 사용하여 sqlserver2000에 연결하는 데 주의해야 합니다. 몇 가지 사항
1. php
a를 구성하고 php.in을 열고 확장명=php_mssql.dll의 주석 기호를 제거합니다.
b. php.in을 엽니다. 프로그램과 데이터베이스가 동일한 서버에 있는 경우 mssql.secure_connection = Off를 on으로 변경하세요. 그렇지 않으면 "User(Null)"로 변경하세요. "가 보고됩니다. ) "로그인 실패"와 같은 오류가 발생합니다.
c. php.in의 Extension_dir에 지정된 디렉터리 또는 시스템 system32 디렉터리에 php_mssql.dll을 복사합니다. (php_mssql.dll은 php 압축 설치 패키지에 포함되어 있습니다.)
2. ntwdblib.dll 파일을 주목하세요
a. sqlserver2000이 설치된 서버의 system32 디렉터리에서 ntwdblib.dll 파일을 찾아 속성을 통해 버전을 확인한 후 이를 기준으로 변경하세요. 프로그램 서버 php 디렉터리의 해당 파일 파일 덮어쓰기.
b. apache2/bin 아래의 해당 파일도 덮어써야 합니다! (많은 사람들이 이 단계를 인식하지 못해 연결하지 못하는데, 저 역시 그랬습니다.)
위 단계를 완료한 후에는 Apache를 다시 시작해야 합니다.
참고: 실제 사용 시 php 압축 파일을 통해 iis에 php를 수동으로 설치하는 경우 iis뿐만 아니라 머신을 다시 시작해야 하는 것으로 나타났습니다.
3. sqlserver를 구성합니다
a. SQL Server 구성 관리자를 실행하고 프로토콜을 엽니다
b. "namedpipe" 및 "tcp/ip"를 허용합니다.
c. ip", 속성 탭 "IP 주소"
d를 엽니다. TCP 동적 포트 "TCP 동적 포트"에 1433
e를 입력합니다. SQL Server를 다시 시작
--------------- ------------------------------------- --------------------------------
4 다음 방법을 사용하여 MS SQL Server 2005에 연결하세요.
코드는 다음과 같습니다.
<?php //链接数据库 $conn=mssql_connect('localhost','sa','123456'); mssql_select_db('gu_dde',$conn); //query语句 $Query="select * from dde_top"; $AdminResult=mssql_query($Query); //输出结果 $Num=mssql_num_rows($AdminResult); for($i=0;$i<$Num;$i++) { $Row=mssql_fetch_array($AdminResult); echo($Row[1]); echo("<br/>"); } ?>
이 함수들은 MySQL 함수에 대응되어 사용하기 매우 편리하다는 것을 알 수 있습니다!
-------------------------------------- -----------------------
5.FAQ 자주 묻는 질문:
1 오류:
치명적인 오류: 정의되지 않은 함수 mssql_connect() 호출
해결 방법:
MSSQL_ 시리즈 함수 사용
이 두 가지를 사용하려면 php.ini에서 설정해야 합니다.
(1) DCOM을 허용하려면 PHP에서 com.allow_dcom=TRUE 이전에 포인트를 설정해야 합니다. .ini ";" 번호를 제거합니다.
(2) MSSQL 확장을 사용하려면 php.ini에서 ;extension=php_mssql.dll 앞에 있는 세미콜론 ";"을 제거해야 합니다. (Key)
(3) Extension_dir이 올바른 경로인지 확인하세요. 다음 머신을 예로 들어보겠습니다: Extension_dir = "c:AppServphp5ext".
(4) 시스템에서 여전히 c:AppServ php5extphp_mssql.dll을 찾을 수 없다는 오류를 보고하지만 이 파일은 분명히 존재합니다.
해결 방법: php_mssql.dll 및 ntwdblib.dll을 시스템 디렉터리 system32에 복사하고 테스트를 다시 시작하세요. .
(참고: 위의 두 dll 파일은 동일한 디렉터리에 있지 않습니다. 내 파일은 c:AppServphp5ext php_mssql.dll; c:AppServphp5ntwdblib.dll입니다.)
또한 ntwdblib.dll을 apache2/bin/ 디렉터리에 복사하세요!
또한, 설정 후 서버를 다시 시작하는 것을 잊지 마세요.
6. 기타 질문:
php apache Sql Server2000이 동일한 시스템에 있으면 기본적으로 액세스하는 데 문제가 없습니다.
Sql Server2000과 PHP 머신이 분리된 경우 sqlserver가 위치한 머신의 머신 이름을 ping할 수 있는지 확인해야 합니다. 통과할 수 없는 경우 해당 머신의 system32driversetc 아래의 호스트 파일을 수정합니다. php가 위치한 머신의 머신 IP 줄을 추가합니다. sqlserver가 위치한 머신의 머신 이름입니다.
그래도 접속할 수 없다면, PHP가 위치한 머신에 mdac로의 비밀 변환 기능이 있는지 확인해야 합니다. 간단히 sqlserver 클라이언트를 설치하는 것은 어떻습니까?
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 php를 sqlserver에 연결하는데 오류가 발생하면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!