Maison développement back-end tutoriel php Comment connecter PHP à la base de données Microsoft en utilisant sqlSrv sous Linux

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

Mar 03, 2018 pm 01:53 PM
linux php

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Apr 01, 2025 pm 03:06 PM

Causes et solutions pour les erreurs Lors de l'utilisation de PECL pour installer des extensions dans un environnement Docker Lorsque nous utilisons un environnement Docker, nous rencontrons souvent des maux de tête ...

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Comment intégrer efficacement les services Node.js ou Python sous l'architecture LAMP? Comment intégrer efficacement les services Node.js ou Python sous l'architecture LAMP? Apr 01, 2025 pm 02:48 PM

De nombreux développeurs de sites Web sont confrontés au problème de l'intégration de Node.js ou des services Python sous l'architecture de lampe: la lampe existante (Linux Apache MySQL PHP) a besoin d'un site Web ...

L'interprète Python peut-il être supprimé dans le système Linux? L'interprète Python peut-il être supprimé dans le système Linux? Apr 02, 2025 am 07:00 AM

En ce qui concerne le problème de la suppression de l'interpréteur Python qui est livré avec des systèmes Linux, de nombreuses distributions Linux préinstalleront l'interpréteur Python lors de l'installation, et il n'utilise pas le gestionnaire de packages ...

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

See all articles