Comment connecter PHP à la base de données Microsoft en utilisant sqlSrv sous Linux

小云云
Libérer: 2023-03-20 17:48:01
original
4987 Les gens l'ont consulté

Lorsque PHP utilise sqlSrv pour se connecter à la base de données SQLSERVER de Microsoft, il doit utiliser l'extension pdo_srv.
L'installation de l'extension pdo_srv peut être installée directement à l'aide de pecl

L'environnement lors de la rédaction de cet article est
ubuntu 16.04 LTS
php 7.0.27
unixODBC 2.3.5
FreeTDS 1.00 .82
02/03/2018

pecl
Le programme se trouve dans le répertoire bin sous le répertoire d'installation de PHP si votre répertoire PHP ne figure pas dans les variables d'environnement Linux. Ou votre programme pecl n'est pas lié au chemin du bac système et vous serez invité à indiquer que le programme pecl n'est pas installé.

L'installation de sqlsrv nécessite la prise en charge d'unixODBC, donc si vous n'avez pas installé unixODBC avant l'installation, vous devez d'abord installer unixODBC, et unixODBC nécessite que FreeTDS se connecte à SQLSERVER, car unixODBC ne définit qu'un ensemble de interfaces communes. Il n'y a pas de méthode de mise en œuvre spécifique,

1. Installez FreeTDS
a), téléchargez

http://www.freetds.org/

b), compilez et installez

./configure --with-tdsver=auto --prefix=/usr/local/freetds --enable-msdblib --with-gnu-ld --enable-shared --enable-static --with-unixodbc=/usr/localmake
make install
Copier après la connexion
Copier après la connexion

Certains tutoriels en ligne indiquent –with-tdsver=8.0 J'ai signalé une erreur lors de la compilation Pour les valeurs spécifiques prises en charge, voir ./configure. –help Description de with-tdsver

Une fois l'installation terminée, un répertoire etc sera généré dans /usr/local/freetds. Nous devons utiliser le fichier freetds.conf.
c), configuration
Configurez le fichier freetds.conf. Vous n'avez pas besoin de configurer

La méthode pour ne pas configurer freetds.conf peut être trouvée dans le lien de configuration d'unixODBC

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

2. Installez unixODBC

  https://sourceforge.net/projects/unixodbc/files/unixODBC/
  http://www.unixodbc.org/
  以上两个网站都可以下载到,建议到第二个官网下载吧。
Copier après la connexion
Copier après la connexion
🎜>

a), Télécharger

./configure --prefix=/usr/local/unixODBC --includedir=/usr/include  --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etcmake 
make install
Copier après la connexion
Copier après la connexion

b), compiler et installer

c), configurer

Ajoutez la configuration dans /etc/odbc.ini

Il existe des tutoriels sur Internet qui compilent et installent dans /usr/local/etc/odbc.ini
[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
Copier après la connexion
Copier après la connexion
, bien que ce fichier soit généré après compilation, la configuration de ce fichier ne prend pas effet. Vous devez toujours configurer


/usr/bin/isql SQLSERVER2018912 数据库账号 密码
Copier après la connexion
Copier après la connexion
dans /etc/odbc.ini Une fois la configuration ci-dessus terminée, vous pouvez la tester.

Utilisez le programme isql généré lors de la compilation d'unixODBC pour tester. Le chemin est /usr/bin/isql

isql Vous pouvez utiliser isql –help pour afficher la configuration

S'il n'y a pas d'erreur, vous pouvez voir que vous êtes connecté à la base de données. . Vous pouvez utiliser des instructions SQL pour interroger des éléments.

Une fois la configuration unixODBC terminée, vous pouvez installer l'extension PHP
pecl install sqlsrv
Copier après la connexion
Copier après la connexion
3. Installez l'extension PHP sqlsrv


Après l'installation, vous devez charger l'extension. dans php.ini, puis redémarrez Apache pour prendre effet.
Faites attention au contenu imprimé à l'écran après compilation




L'environnement lors de la rédaction de cet article est
Ubuntu 16.04 LTS
php7.0.27

unixODBC 2.3.5
GratuitTDS 1.00.82

02/03/2018

Lorsque PHP utilise sqlSrv pour se connecter à la base de données SQLSERVER de Microsoft, vous devez utiliser l'extension pdo_srv.

L'installation de l'extension pdo_srv peut être installée directement à l'aide de pecl

pecl

Le programme se trouve dans le répertoire bin sous le répertoire d'installation PHP si votre répertoire PHP ne figure pas dans les variables d'environnement Linux. Ou votre programme pecl n'est pas lié au chemin du bac système et vous serez invité à indiquer que le programme pecl n'est pas installé.


L'installation de sqlsrv nécessite la prise en charge d'unixODBC, donc si vous n'avez pas installé unixODBC avant l'installation, vous devez d'abord installer unixODBC, et unixODBC nécessite que FreeTDS se connecte à SQLSERVER, car unixODBC ne définit qu'un ensemble de interfaces communes. Il n'y a pas de méthode de mise en œuvre spécifique,

1. Installez FreeTDS

a), téléchargez

http://www.freetds.org/

./configure --with-tdsver=auto --prefix=/usr/local/freetds --enable-msdblib --with-gnu-ld --enable-shared --enable-static --with-unixodbc=/usr/localmake
make install
Copier après la connexion
Copier après la connexion
b), compilez et installez

Certains tutoriels en ligne indiquent –with-tdsver=8.0 J'ai signalé une erreur lors de la compilation Pour les valeurs spécifiques prises en charge, voir ./configure. –help Description de with-tdsver

Une fois l'installation terminée, un répertoire etc sera généré dans /usr/local/freetds. Nous devons utiliser le fichier freetds.conf.
c), configuration

Configurez le fichier freetds.conf. Vous n'avez pas besoin de configurer

[global]#全局配置tds version = auto#更多的配置可以参考freetds官方文档,我这里这样配置已经够用了[servertag]#定义一个叫 servertag 的节点,这个节点的名称可以自定义的,不是固定#所有 # 符号的内容都可以不写在配置文件中,这里只是注释解释用#更多的细节配置看官方描述#数据库的连接IP地址host = 192.168.9.12 #数据库的端口port = 1433 #连接时默认打开的库名,【可以不配置此项】database = master 
#tds version 有全局配置,这里也可以不写tds version = auto
Copier après la connexion
Copier après la connexion
La méthode pour ne pas configurer freetds.conf peut être trouvée dans le lien de configuration d'unixODBC

2. Installez unixODBC
  https://sourceforge.net/projects/unixodbc/files/unixODBC/
  http://www.unixodbc.org/
  以上两个网站都可以下载到,建议到第二个官网下载吧。
Copier après la connexion
Copier après la connexion

./configure --prefix=/usr/local/unixODBC --includedir=/usr/include  --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etcmake 
make install
Copier après la connexion
Copier après la connexion
🎜>

a), Télécharger

b), compiler et installer


c), configurer
Ajoutez la configuration dans /etc/odbc.ini
[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
Copier après la connexion
Copier après la connexion


Il existe des tutoriels sur Internet qui compilent et installent dans /usr/local/etc/odbc.ini

, bien que ce fichier soit généré après compilation, la configuration de ce fichier ne prend pas effet. Vous devez toujours configurer
/usr/bin/isql SQLSERVER2018912 数据库账号 密码
Copier après la connexion
Copier après la connexion



dans /etc/odbc.ini Une fois la configuration ci-dessus terminée, vous pouvez la tester.

Utilisez le programme isql généré lors de la compilation d'unixODBC pour tester. Le chemin est /usr/bin/isql

pecl install sqlsrv
Copier après la connexion
Copier après la connexion
isql Vous pouvez utiliser isql –help pour afficher la configuration
S'il n'y a pas d'erreur, vous pouvez voir que vous êtes connecté à la base de données. . Vous pouvez utiliser des instructions SQL pour interroger des éléments.

Une fois la configuration unixODBC terminée, vous pouvez installer l'extension PHP

3. Installez l'extension PHP sqlsrv
Après l'installation, vous devez charger l'extension. dans php.ini, puis redémarrez Apache pour prendre effet. Faites attention à ce qui est imprimé à l'écran après compilation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal