Heim >Backend-Entwicklung >PHP-Tutorial >So verbinden Sie PHP mit sqlSrv unter Linux mit der Microsoft-Datenbank

So verbinden Sie PHP mit sqlSrv unter Linux mit der Microsoft-Datenbank

小云云
小云云Original
2018-03-03 13:53:435033Durchsuche

Wenn PHP sqlSrv verwendet, um eine Verbindung zur SQLSERVER-Datenbank von Microsoft herzustellen, muss es die Erweiterung pdo_srv verwenden.
Die Installation der pdo_srv-Erweiterung kann direkt mit pecl installiert werden.

Die Umgebung beim Schreiben dieses Artikels ist
Ubuntu 16.04 LTS
PHP 7.0.27
UnixODBC 2.3.5
FreeTDS 1.00 .82
2018-03-02

pecl
Das Programm befindet sich im bin-Verzeichnis unter dem PHP-Installationsverzeichnis, wenn sich Ihr PHP-Verzeichnis nicht in den Linux-Umgebungsvariablen befindet. Oder Ihr pecl-Programm ist nicht mit dem System-Bin-Pfad verknüpft und Sie werden gefragt, dass das pecl-Programm nicht installiert ist.

Die Installation von sqlsrv erfordert die Unterstützung von unixODBC. Wenn Sie also unixODBC vor der Installation nicht installiert haben, müssen Sie zuerst unixODBC installieren. Für unixODBC ist FreeTDS erforderlich, um eine Verbindung zu SQLSERVER herzustellen, da unixODBC nur eine Reihe von definiert Gemeinsame Schnittstellen. Es gibt keine spezifische Implementierungsmethode,

1. Installieren Sie FreeTDS
a), laden Sie

http://www.freetds.org/

b), kompilieren und installieren

./configure --with-tdsver=auto --prefix=/usr/local/freetds --enable-msdblib --with-gnu-ld --enable-shared --enable-static --with-unixodbc=/usr/localmake
make install
Einige Online-Tutorials sagen –with-tdsver=8.0. Beim Kompilieren wurde ein Fehler gemeldet, siehe ./configure –help Beschreibung von with-tdsver

Nach Abschluss der Installation wird ein etc-Verzeichnis in /usr/local/freetds generiert. Wir müssen die Datei freetds.conf verwenden.

c), Konfiguration
Konfigurieren Sie die Datei freetds.conf. Sie müssen

nicht konfigurieren. Die Methode, freetds.conf nicht zu konfigurieren, finden Sie im Konfigurationslink von unixODBC

[global]#全局配置tds version = auto#更多的配置可以参考freetds官方文档,我这里这样配置已经够用了[servertag]#定义一个叫 servertag 的节点,这个节点的名称可以自定义的,不是固定#所有 # 符号的内容都可以不写在配置文件中,这里只是注释解释用#更多的细节配置看官方描述#数据库的连接IP地址host = 192.168.9.12 #数据库的端口port = 1433 #连接时默认打开的库名,【可以不配置此项】database = master 
#tds version 有全局配置,这里也可以不写tds version = auto
2. Installieren Sie unixODBC

a), Herunterladen

  https://sourceforge.net/projects/unixodbc/files/unixODBC/
  http://www.unixodbc.org/
  以上两个网站都可以下载到,建议到第二个官网下载吧。
b), kompilieren und installieren

./configure --prefix=/usr/local/unixODBC --includedir=/usr/include  --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etcmake 
make install
c), konfigurieren

Konfiguration in /etc/odbc.ini hinzufügen

Es gibt Tutorials im Internet, die in /usr/local/etc/odbc.ini

kompilieren und installieren Obwohl diese Datei nach der Kompilierung generiert wird, wird die Konfiguration in dieser Datei nicht wirksam. Sie müssen

[ODBC Data Sources]#描述而已,没有测过不写行不行,理论上可行SQLSERVER2018912 = 9.12 DB

[SQLSERVER2018912]#Driver 指向的目录是FreeTDS编译生成的文件,类似一个驱动文件,稍后讲解安装方法Driver = /usr/local/freetds/lib/libtdsodbc.so
Description  = 9.12 DB,文字描述
Trace = No#Server 可以直接写 FreeTDS的freetds.conf 中配置的servertag节点名#使用freetds.conf配置时,port 也不用配置了。#因为在此直接写server IP时能配置的选项很少,而freetds.conf可以配置的细节更多#此处我已经配置了IP,freetds.conf中其实就可以不用配置。只要安装好freetds即可Server = 192.168.9.12Port = 1433#7.4或auto应该都可以。没有详细研究过TDS_Version = 7.4[Default]#全局默认配置。理论上可以不写#同上,默认使用Driver = /usr/local/freetds/lib/libtdsodbc.so
noch in /etc/odbc.ini konfigurieren. Nachdem die obige Konfiguration abgeschlossen ist, können Sie sie testen.

Verwenden Sie zum Testen das beim Kompilieren von unixODBC generierte isql-Programm. Der Pfad ist /usr/bin/isql

/usr/bin/isql SQLSERVER2018912 数据库账号 密码
isql. Sie können isql –help verwenden, um die

-Konfiguration anzuzeigen. Wenn keine Fehler vorliegen, können Sie sehen, dass Sie mit der Datenbank verbunden sind . Sie können SQL-Anweisungen verwenden, um Dinge abzufragen.
Nachdem die unixODBC-Konfiguration abgeschlossen ist, können Sie die PHP-Erweiterung installieren

3. Installieren Sie die PHP-SQLSRV-Erweiterung

pecl install sqlsrv
Nach der Installation müssen Sie die Erweiterung laden in php.ini und starten Sie dann Apache neu, damit es wirksam wird.

Achten Sie auf den nach der Kompilierung auf dem Bildschirm gedruckten Inhalt

Die Umgebung beim Schreiben dieses Artikels ist

Ubuntu 16.04 LTS
php 7.0.27
unixODBC 2.3.5
FreeTDS 1.00.82
2018-03-02

Wenn PHP sqlSrv verwendet, um eine Verbindung zur SQLSERVER-Datenbank von Microsoft herzustellen, müssen Sie die Erweiterung pdo_srv verwenden.

Die Installation der pdo_srv-Erweiterung kann direkt mit pecl

pecl

installiert werden Das Programm befindet sich im bin-Verzeichnis unter dem PHP-Installationsverzeichnis, wenn sich Ihr PHP-Verzeichnis nicht in den Linux-Umgebungsvariablen befindet. Oder Ihr pecl-Programm ist nicht mit dem System-Bin-Pfad verknüpft und Sie werden gefragt, dass das pecl-Programm nicht installiert ist.

Die Installation von sqlsrv erfordert die Unterstützung von unixODBC. Wenn Sie also unixODBC vor der Installation nicht installiert haben, müssen Sie zuerst unixODBC installieren. Für unixODBC ist FreeTDS erforderlich, um eine Verbindung zu SQLSERVER herzustellen, da unixODBC nur eine Reihe von definiert Gemeinsame Schnittstellen. Es gibt keine spezifische Implementierungsmethode,

1. Installieren Sie FreeTDS

a), laden Sie

http://www.freetds.org/

b), kompilieren und installieren

./configure --with-tdsver=auto --prefix=/usr/local/freetds --enable-msdblib --with-gnu-ld --enable-shared --enable-static --with-unixodbc=/usr/localmake
make install
Einige Online-Tutorials sagen –with-tdsver=8.0. Beim Kompilieren wurde ein Fehler gemeldet, siehe ./configure –help Beschreibung von with-tdsver

Nach Abschluss der Installation wird ein etc-Verzeichnis in /usr/local/freetds generiert. Wir müssen die Datei freetds.conf verwenden.
c), Konfiguration

Konfigurieren Sie die Datei freetds.conf. Sie müssen

nicht konfigurieren. Die Methode, freetds.conf nicht zu konfigurieren, finden Sie im Konfigurationslink von unixODBC

2. Installieren Sie unixODBC
[global]#全局配置tds version = auto#更多的配置可以参考freetds官方文档,我这里这样配置已经够用了[servertag]#定义一个叫 servertag 的节点,这个节点的名称可以自定义的,不是固定#所有 # 符号的内容都可以不写在配置文件中,这里只是注释解释用#更多的细节配置看官方描述#数据库的连接IP地址host = 192.168.9.12 #数据库的端口port = 1433 #连接时默认打开的库名,【可以不配置此项】database = master 
#tds version 有全局配置,这里也可以不写tds version = auto

a), Herunterladen

b), kompilieren und installieren
  https://sourceforge.net/projects/unixodbc/files/unixODBC/
  http://www.unixodbc.org/
  以上两个网站都可以下载到,建议到第二个官网下载吧。

c), konfigurieren
./configure --prefix=/usr/local/unixODBC --includedir=/usr/include  --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etcmake 
make install
Konfiguration in /etc/odbc.ini hinzufügen


Es gibt Tutorials im Internet, die in /usr/local/etc/odbc.ini
kompilieren und installieren Obwohl diese Datei nach der Kompilierung generiert wird, wird die Konfiguration in dieser Datei nicht wirksam. Sie müssen


noch in /etc/odbc.ini konfigurieren. Nachdem die obige Konfiguration abgeschlossen ist, können Sie sie testen.
[ODBC Data Sources]#描述而已,没有测过不写行不行,理论上可行SQLSERVER2018912 = 9.12 DB

[SQLSERVER2018912]#Driver 指向的目录是FreeTDS编译生成的文件,类似一个驱动文件,稍后讲解安装方法Driver = /usr/local/freetds/lib/libtdsodbc.so
Description  = 9.12 DB,文字描述
Trace = No#Server 可以直接写 FreeTDS的freetds.conf 中配置的servertag节点名#使用freetds.conf配置时,port 也不用配置了。#因为在此直接写server IP时能配置的选项很少,而freetds.conf可以配置的细节更多#此处我已经配置了IP,freetds.conf中其实就可以不用配置。只要安装好freetds即可Server = 192.168.9.12Port = 1433#7.4或auto应该都可以。没有详细研究过TDS_Version = 7.4[Default]#全局默认配置。理论上可以不写#同上,默认使用Driver = /usr/local/freetds/lib/libtdsodbc.so
Verwenden Sie zum Testen das beim Kompilieren von unixODBC generierte ISO-Programm. Der Pfad ist /usr/bin/isql


isql. Sie können isql –help verwenden, um die
/usr/bin/isql SQLSERVER2018912 数据库账号 密码
-Konfiguration zu überprüfen. Wenn keine Fehler vorliegen, können Sie sehen, dass Sie mit der Datenbank verbunden sind . Sie können SQL-Anweisungen verwenden, um Dinge abzufragen.

Nachdem die unixODBC-Konfiguration abgeschlossen ist, können Sie die PHP-Erweiterung installieren

3. Installieren Sie die PHP-SQLSRV-Erweiterung

pecl install sqlsrv
Nach der Installation müssen Sie die Erweiterung laden in php.ini und starten Sie dann Apache neu, damit es wirksam wird.
Achten Sie darauf, was nach der Kompilierung auf dem Bildschirm angezeigt wird


Das obige ist der detaillierte Inhalt vonSo verbinden Sie PHP mit sqlSrv unter Linux mit der Microsoft-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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