为PHP模块添加SQL SERVER2012数据库的步骤详解

admin3年前PHP教程36
一、系统要求

操作系统:Windows 2012 R2
数据库:SqlServer2012
web服务器:APACHE =>httpd-2.4.46-o111j-x64-vc15
PHP模块:PHP=>php-7.4.16-Win32-vc15-x64

二、下载驱动

2.1下载 Microsoft Drivers for PHP for SQL Server

下载网址:docs.microsoft/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver15

下载后是一个EXE文件如下图所示。双击"SQLSRV59.EXE"

将其解压到一个文件夹中如下图所示:

解压后的文件如下图所示.解压出来的是DLL动态连接库文件

2.2 下载 ODBC Driver for SQL Server

下载地址:docs.microsoft/zh-cn/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15

笔者用的是64位系统,如果是32们系统请下载对应的版本

三、配置PHP模块与php.ini文件

微软对PHP文件的系统要求请参考以下地址:docs.microsoft/zh-cn/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-ver15
必须通过相应的 PHP 版本启用驱动程序文件的正确版本。 有关不同驱动程序文件的信息,请参阅驱动程序版本。 若要下载驱动程序,请参阅下载 Microsoft Drivers for PHP for SQL Server。 要了解如何配置适用于 PHP 的驱动程序,请参阅加载 Microsoft Drivers for PHP for SQL Server。
Web 服务器是必需的。 必须将 Web 服务器配置为运行 PHP。 有关使用 IIS 托管 PHP 应用程序的信息,请参阅 PHP 网站上的教程。

3.1从下图可以看到ODBC驱动程序11和13已经不在支持PHP5.9以上的版本,如果你下载的PHP模块是5.9以上的建议下载ODBC17以上的版本

3.2 PHP版本有线程安全问题如果你是用IIS要用线程安全否如果是APACHE版本用线程安全版本

笔者根据自己的系统要求采用红框中的版本,系统要求见上述。

3.3 将下载解压的驱动COPY到PHP文件夹的ext文件中

将系统要求的两个文件复制到PHP模块文件夹中的ext文件夹下,笔者的PHP文件夹在C:盘下路经为c:/php

3.4 安装ODBC文件

ODBC文件安装非常简单,点下一步下一走即可安装成功。为了做到说明详尽笔者上一张图以说明

3.5 配置php.ini 文件

3.51 设置数据驱动扩展路径

为了让PHP找到数据库驱动程序需要对数据库扩展路径进行设置以下是微软对加载驱动程序的说明笔者复述如下:
将驱动程序文件移动到扩展目录中
驱动程序文件必须位于 PHP 运行时可以找到它的目录中。 最简单的方法是将驱动程序文件放入默认的 PHP 扩展目录中。要查找默认目录,只需在 Windows 上运行 php -i | sls extension_dir 或在 Linux/macOS 上运行 php -i | grep extension_dir。 如果使用的不是默认扩展目录,请使用 extension_dir 选项在 PHP 配置文件 (php.ini) 中指定一个目录。 例如,在 Windows 上,如果已将驱动程序文件置于 c:\php\ext 目录中,则将以下行添加到 php.ini 中:
extension_dir = "c:\PHP\ext"

以下是笔者的设置
下面展示一些 内联代码片。

extension_dir = "./";On windows:extension_dir = "c:/php/ext"

 

3.5.2 设置驱动启动加载

以下是微软给出的解释
在 PHP 启动时加载驱动程序
若要在 PHP 启动时加载 SQLSRV 驱动程序,首先要将驱动程序文件移动到扩展目录中。 然后,按如下步骤操作:
要启用 SQLSRV 驱动程序,请通过向扩展部分添加以下行并适当地更改文件名来修改 php.ini :
在 Windows 上:
extension=php_sqlsrv_72_ts.dll
在 Linux 上,如果已经下载用于分发的预生成二进制文件:
extension=php_sqlsrv_72_nts.so
如果已从源代码或使用 PECL 编译了 SQLSRV 二进制文件,则会将其命名为 sqlsrv.so:
extension=sqlsrv.so
以下是笔者的设置
下面展示一些 内联代码片。

extension = php_pdo_sqlsrv_74_ts_x64.dllextension = php_sqlsrv_74_ts_x64.dll

 

3.5.3重新启动 Web 服务器。

以上设置好了重新启动Web 服务器, 新建一个文件命名为phpinfo.php观察设置是否正常
输入如下代码 内联代码片。

<?php echo phpinfo();?>

 

在浏览器中打开如果出现以上内容说明数据库设置正常


四、连接数据库

4.1新建一个文件命名为ConnectData.php 输入以下内容

下面展示一些 内联代码片。

<?php $serverName = "localhost"; //数据库服务器地址$uid = "sa"; //数据库用户名$pwd = "Xnqq0971"; //数据库密码$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"SecondSubjects");//, "Database"=>"SecondSubjects"$conn = sqlsrv_connect($serverName, $connectionInfo);if( $conn == false){ echo "连接失败!"; var_dump(sqlsrv_errors()); exit;}else{ echo "链接成功";}

 

4.2 用浏览器打开

如果连接成功说明数据库设置完成

五、总结

如果phpinfo.php 文件中Registered PHP Streams选项中没有sqlsrv 选项,但有pdo_sqlsrv选项说明
驱动程序安装正确,ODBC要安装新的版本。
如果pdo_sqlsrv选项没有,说明驱动程序安装不对需要查一下对应的版本。具体的要查看Microsoft Drivers for PHP for SQL Server 系统要求一文地址:docs.microsoft/zh-cn/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-ver15

到此这篇关于为PHP模块添加SQL SERVER2012数据库的文章就介绍到这了,更多相关PHP模块添加SQL SERVER2012数据库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

PHP PDO预处理语句及事务的使用

目录预处理语句功能事务能力总结预处理语句功能预处理语句就是准备好一个要执行的语句,然后返回一个 PDOStatement 对象。一般我们会使用 PDOStatement 对象的 execute() 方...

PHP使用Redis队列执行定时任务实例讲解

Redis类:<?php  namespace Utils;   use Phalcon\Config\Adapter\Ini as Confi...

Mac M1安装mnmp(Mac+Nginx+MySQL+PHP)开发环境

之前刚装好了 HomeBrew ,接下来就要安装 环境了。注意:如果 brew install 出以下错误, 则安装时使用 arch -arm64 brew install 软件包...

什么是独立GPU显卡服务器?新加坡GPU服务器能干什么?

什么是独立GPU显卡服务器?独立GPU,也称为显卡,是一种独立的处理单元,具有专用的卡和内存。只需将卡插入主板上靠近CPU的扩展槽,即可轻松更换或升级。它旨在处理更复杂的图形处理,并提供比集成GPU更...

如何选择高防服务器和高防CDN?美国高防服务器CC攻击防护?

如何选择高防服务器和高防CDN?安全防御服务网站除了正常的用户访问外,还有一群觊望网站利益的人在暗中观察,寻找网站漏洞,进行扫盘获取数据,或是通过不同方式对企业网站进行大规模访问,导致企业服务器资源无...

PHP实现加减乘除最简单的实例分享

本文的重点就是如何创建一个PHP类来实现两个数间的加减乘除,这种类似于极简单的计算器功能。实现起来是非常简单的,继续往下看:这里简单给大家介绍一下构造函数和private和public的定义:构造函数...