Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 5.6.11 Detaillierte Erläuterung verschiedener Situationen beim Zugriff auf SQL Server2008R2_php-Beispiel

PHP 5.6.11 Detaillierte Erläuterung verschiedener Situationen beim Zugriff auf SQL Server2008R2_php-Beispiel

WBOY
WBOYOriginal
2016-08-17 13:02:321359Durchsuche

PHP unterstützt natürlich MySQL, aber manchmal möchte ich, dass es auf SQL Server zugreift. Was soll ich tun?

Ich habe kürzlich einige Informationen gefunden und mehrere Situationen erfolgreich getestet, in denen PHP auf SQLSvr zugreift. Aus Zeitgründen habe ich keine weiteren verschiedenen Umgebungen getestet:

Testumgebung: Win7 x64 SP1, IIS 7.5, Apache 2.4 32-Bit-Version, PHP 5.2.6 Win32, PHP 5.6.11 Win32 TS (Thread-sichere Version)

Hinweis: Da es für den Treiber „Microsoft Drivers for PHP for SQL Server“ derzeit nur eine 32-Bit-Version gibt, wird die Verwendung von PHP 64-Bit nicht empfohlen, wenn Sie eine SQL Server-Datenbank verwenden Dies führt dazu, dass keine Verbindung zum SQL Server-Datenbankproblem hergestellt werden kann!

php 5.2.6 hat erfolgreich auf sql2000 auf iis zugegriffen

php 5.2.6 hat erfolgreich auf sql2008r2 auf iis zugegriffen

php 5.6.11 hat erfolgreich auf sql2008r2 auf Apache zugegriffen

【5.2.6 -> SQL2000】

Warum müssen Sie zum Testen eine so alte PHP-Version 5.2.6 verwenden, weil die PHP-Version 5.2 über ein integriertes php_mssql.dll-Modul verfügt,

Die Konfigurationsoption extension=php_mssql.dll in php.ini geöffnet, die anscheinend standardmäßig mssql2000 unterstützt,

Öffnen Sie phpinfo und Sie können den relevanten Inhalt des Support-Moduls sehen:

Es ist jetzt bequem, PHP unter PS.IIS 7.0 zu installieren. Sie können es über den PHP-Manager eines Drittanbieters installieren und die PHP-Version auch problemlos unter iS wechseln. Dies ist nicht der Hauptinhalt dieses Artikels und wird hier nicht vorgestellt;

PHP-Manager für IIS 7 Download- und Installationsadresse: http://phpmanager.codeplex.com/


Schreiben Sie eine kleine Testroutine:

<&#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;>
Die Ergebnisse der Ausführung unter IIS 7.5 sind wie folgt: Erfolg!


【5.6.11 -> SQL2008R2】


PHP 5.6 und höher verfügt nicht mehr über php_mssql.dll und es scheint, dass es SQL Server Version 2000 oder höher nicht mehr unterstützt. Ich habe es auf der offiziellen Website von Microsoft gefunden:


Microsoft-Treiber für PHP für SQL Server


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


Die Download-Link-Adresse enthält vier Dateien:

•SQLSRV30.EXE

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

Unterstützt jeweils verschiedene PHP-Versionen

•Version 4.0 unterstützt PHP 7.0

•Version 3.2 unterstützt PHP 5.6, 5.5 und 5.4
•Version 3.1 unterstützt PHP 5.5 und 5.4
•Version 3.0 unterstützt PHP 5.4.

Wenn Sie eine SQLSRV20.EXE für PHP 5.2 herunterladen möchten, können Sie diese Datei auch leicht online finden


(Obwohl eine so alte Version wie 5.2 schon längst hätte entfernt werden sollen, wenn man bedenkt, dass bestimmte Umgebungen sie immer noch verwenden müssen)


php_pdo_sqlsrv_52_ts_vc6.dll


php_sqlsrv_52_ts_vc6.dll


1. Ich habe PHP 5.6.11 win32 ts, ich muss dieses verwenden


php_sqlsrv_56_ts.dll

php_pdo_sqlsrv_56_ts.dll

Kopieren Sie diese beiden Dateien in das phpext-Verzeichnis,


2. Fügen Sie die folgenden zwei Sätze zu php.ini hinzu:


extension=C:PHP5extphp_sqlsrv_56_ts.dll

extension=C:PHP5extphp_pdo_sqlsrv_56_ts.dll

3. Starten Sie IIS oder Apache neu,


4. Sie können die folgende Modulanzeige über phpinfo sehen. Unser PHP sollte zu diesem Zeitpunkt auf SQL Server 2008R2 zugreifen können


5. Schreiben Sie ein kleines Programm zur Überprüfung:


Wenn die folgende Eingabeaufforderung erscheint:

Möglicherweise müssen Sie auch Microsoft® ODBC Driver 11 für SQL Server® – Windows installieren

Download-Adresse: https://www.microsoft.com/zh-cn/download/details.aspx?id=36434

Wenn es richtig ist, sollte es in Ordnung sein:

PS. Da das neue Modul über PDO auf SQL Server 2008R2 zugreift, kann bei lokalem Zugriff direkt über die IP-Adresse und das SA-Konto darauf zugegriffen werden,

Wenn sich PHP und SQL2008r2 auf verschiedenen Computern befinden, müssen Sie den TCP-Port 1433 für den Zugriff festlegen. Ändern Sie den dynamischen Port auf 0 und setzen Sie den Port auf 14333. Wenn Ihr SQL2000 bereits 1433 belegt hat, greifen Sie auf „Hinzufügen“ zu nach der Adresse xxxx Portnummer

sqlsrv:Server=192.168.1.xxxsql2008r2,14333;Database=master



Das Obige ist die detaillierte Erklärung mehrerer Situationen beim Zugriff auf SQL Server2008R2 in PHP 5.6.11. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht Ich werde Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der Script House-Website bedanken!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn