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

作者:杏雨1969 时间:2024-05-13 09:53:57 

一、系统要求

操作系统: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

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

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

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

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

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

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

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

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

2.2 下载 ODBC Driver for SQL Server

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

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

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

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

微软对PHP文件的系统要求请参考以下地址:http://docs.microsoft.com/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以上的版本

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

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

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

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

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

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

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

3.4 安装ODBC文件

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

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

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"

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

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.dll
extension = php_sqlsrv_74_ts_x64.dll

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

3.5.3重新启动 Web 服务器。

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


<?php
echo phpinfo();
?>

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

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

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

四、连接数据库

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 "链接成功";
}

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

4.2 用浏览器打开

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

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

五、总结

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

来源:https://blog.csdn.net/weixin_43727933/article/details/115273664

标签:PHP,模块,SQL,SERVER2012,数据库
0
投稿

猜你喜欢

  • python神经网络编程之手写数字识别

    2022-01-12 20:50:04
  • SQLServer2005安装提示服务无法启动原因分析及解决

    2024-01-16 03:02:26
  • JavaScript onclick 和 click 的区别详解

    2024-06-05 09:56:25
  • MySQL数据库误删回滚的解决

    2024-01-19 16:31:11
  • ASP的错误代码都有哪些?

    2009-10-28 18:15:00
  • python自动化测试之从命令行运行测试用例with verbosity

    2021-09-20 07:32:16
  • vue.js中ref及$refs的使用方法解析

    2024-05-09 10:42:35
  • python 进程池pool使用详解

    2022-02-13 03:42:52
  • 通过源码分析Python中的切片赋值

    2021-06-26 16:31:04
  • Python中Django框架下的staticfiles使用简介

    2022-08-18 14:04:40
  • 在VScode里面添加Python解释器的详细步骤

    2021-12-04 16:03:11
  • 成功安装vscode中go的相关插件(详细教程)

    2024-05-08 10:14:32
  • Python3.7下安装pyqt5的方法步骤(图文)

    2021-08-27 14:02:05
  • mysql中合并两个字段的方法分享

    2024-01-21 19:01:44
  • 解读Python脚本的常见参数获取和处理方式

    2022-07-17 03:36:02
  • Python数学建模PuLP库线性规划进阶基于字典详解

    2022-03-11 18:04:04
  • Python使用剪切板的方法

    2022-01-25 02:17:39
  • Python 内置变量和函数的查看及说明介绍

    2021-06-11 16:12:14
  • Python字典查找数据的5个基础操作方法

    2021-09-08 23:19:45
  • Python lambda表达式filter、map、reduce函数用法解析

    2022-03-30 03:52:31
  • asp之家 网络编程 m.aspxhome.com