php를 sqlserver에 연결하는데 오류가 발생하면 어떻게 해야 할까요?

藏色散人
풀어 주다: 2023-03-13 10:14:02
원래의
2005명이 탐색했습니다.

php가 sqlserver에 연결될 때 발생하는 오류에 대한 해결 방법: 1. php.in을 열고 확장명=php_mssql.dll의 주석 기호를 제거합니다. 2. ntwdblib.dll 파일을 찾습니다. 3. SQL Server 구성 관리자를 실행하고 포트를 설정합니다. .

php를 sqlserver에 연결하는데 오류가 발생하면 어떻게 해야 할까요?

이 글의 운영 환경: 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(&#39;localhost&#39;,&#39;sa&#39;,&#39;123456&#39;);
mssql_select_db(&#39;gu_dde&#39;,$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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