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
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
2. Installez unixODBC
https://sourceforge.net/projects/unixodbc/files/unixODBC/ http://www.unixodbc.org/ 以上两个网站都可以下载到,建议到第二个官网下载吧。
a), Télécharger
./configure --prefix=/usr/local/unixODBC --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etcmake make install
b), compiler et installer
c), configurerIl existe des tutoriels sur Internet qui compilent et installent dans /usr/local/etc/odbc.iniAjoutez 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
/usr/bin/isql SQLSERVER2018912 数据库账号 密码
Utilisez le programme isql généré lors de la compilation d'unixODBC pour tester. Le chemin est /usr/bin/isql
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 PHPpecl install sqlsrv
3. Installez l'extension PHP sqlsrvAprè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 compilationGratuitTDS 1.00.82unixODBC 2.3.5
L'environnement lors de la rédaction de cet article est
Ubuntu 16.04 LTS
php7.0.27
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.peclL'installation de l'extension pdo_srv peut être installée directement à l'aide de 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 FreeTDSa), 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
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
c), configurationConfigurez 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
https://sourceforge.net/projects/unixodbc/files/unixODBC/ http://www.unixodbc.org/ 以上两个网站都可以下载到,建议到第二个官网下载吧。
./configure --prefix=/usr/local/unixODBC --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etcmake make install
a), Télécharger
b), compiler et installerAjoutez la configuration dans /etc/odbc.inic), configurer
[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
Il existe des tutoriels sur Internet qui compilent et installent dans /usr/local/etc/odbc.ini
/usr/bin/isql SQLSERVER2018912 数据库账号 密码
dans /etc/odbc.ini Une fois la configuration ci-dessus terminée, vous pouvez la tester.
pecl install sqlsrv
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.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 compilationUne fois la configuration unixODBC terminée, vous pouvez installer l'extension PHP
3. Installez l'extension PHP sqlsrv
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!