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

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

操作系统: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 curl返回错误码60如何解决

今天有用户调用一个curl方法时,遇到如下的错误,查找了一些资料终于解决了。解决方法记录一下,留着自己以后自已查阅用。错误代码cURL error 60: SSL certificate proble...

gpu运算服务器怎么样如何选择韩国gpu服务器租用

无论是CPU还是GPU,在进行计算时,都需要用核心(Core)来做算术逻辑运算,比如加减乘。核心中有ALU(逻辑运算单元)和寄存器等电路。在进行计算时,一个核心只能顺序执行某项任务。所以为了同时并行地...

7款本地PHP服务器环境搭建工具推荐

通常在开发PHP程序时,需要用到服务器环境来调试自己的页面。有时候仅仅是为了学习PHP程序开发,如果是出于这样的理由去购买一个空间或者服务器是完全没必要的。本文推荐7款目前主流的PHP环境搭建工具,可...

如何远程使用成都GPU服务器

GPU服务器通常用于处理需要大量计算资源和显存的任务,例如机器学习、深度学习和数据分析。在远程使用GPU服务器时,您可以从任何地方访问服务器并使用其计算资源来运行您的任务。本文将介绍如何远程使用GPU...

PHP反射机制案例讲解

简介就算是类成员定义为private也可以在外部访问,不用创建类的实例也可以访问类的成员和方法。PHP自5.0版本以后添加了反射机制,它提供了一套强大的反射API,允许你在PHP运行环境中,访问和使用...

详解Laravel服务容器的优势

目录概述使用服务容器的优势例一、发送邮件例二、实现单例模式例三、旅行者去旅行总结概述laravel服务容器就像一个高度自动化的工厂,你需要的东西,定制好模型,使用特定接口来制造。因为使用了服务容器,l...