一、系统要求

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

笔者用的是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以上的版本

在这里插入图片描述

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.dll
extension = 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 系统要求一文地址:http://docs.microsoft.com/zh-cn/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-ver15

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

为PHP模块添加SQL SERVER2012数据库的步骤详解的更多相关文章

  1. 详解前端HTML5几种存储方式的总结

    本篇文章主要介绍了前端HTML5几种存储方式的总结 ,主要包括本地存储localstorage,本地存储sessionstorage,离线缓存(application cache),Web SQL,IndexedDB。有兴趣的可以了解一下。

  2. PhoneGap / iOS上的SQLite数据库 – 超过5mb可能

    我误解了什么吗?Phonegap中的sqlitedbs真的有5mb的限制吗?我正在使用Phonegap1.2和iOS5.解决方法您可以使用带有phonegap插件的原生sqliteDB,您将没有任何限制.在iOS5.1中,Websql被认为是可以随时删除的临时数据…

  3. ios – 领域:如何获取数据库的当前大小

    是否有RealmAPI方法使用RealmSwift作为数据存储来获取我的RealmSwift应用程序的当前数据库大小?

  4. ios – Realm – 无法使用现有主键值创建对象

    我有一个对象有许多狗的人.应用程序有单独的页面,它只显示狗和其他页面显示人的狗我的模型如下我有人存储在Realm中.人有详细页面,我们取,并显示他的狗.如果狗已经存在,我会更新该狗的最新信息并将其添加到人的狗列表中,否则创建新狗,保存并将其添加到人员列表中.这适用于coredata.在尝试用他的狗更新人时,领域会抛出异常无法使用现有主键值创建对象解决方法这里的问题是,即使你正在创建一个全新的Rea

  5. ios – UIWebView中的WebSQL / SQLite数据库的最大大小(phonegap)

    我知道一般来说,Web应用程序的本地存储空间有5MB的限制.本地网页浏览应用程式是否也有这个限制?

  6. ios – Firebase离线存储高级 – 手动同步和进度信息

    >我可以提供一个捆绑数据库–安装App后我可以已经离线查询了Firebase数据?然后我有另一个关于Firebase的主要问题:>JSON存储是伟大的–但是这样我们不关心一个独特的结构,我们必须注意这一点插入总是正确的数据集?我从来没有试图显示实际的进展,但是当您从firebase中检索数据时,始终会在成功检索数据时调用onDataChange方法.https://firebase.google.com/docs/database/android/retrieve-data#read_data_onceC

  7. ios – 如何处理多用户数据库

    我的应用程序就像很多应用程序–它有一个用户输入用户名和密码的登录屏幕,以及登录按钮我的应用程序还使用CoreData来保存大多数用户的业务对象,当然也是用户特定的.我也有一个登出按钮来启用切换用户.这不会发生很多,但仍然是必要的).现在如果不同的用户登录,我需要获取他的具体数据.但是我该如何做呢?

  8. ios – Swift从Firebase数据库中获取特定价值

    我正在尝试从Firebase数据库中获取特定值.我看了一些像谷歌这样的文件,但我做不到.这是数据库的JSON文件:SWIFT代码:我想获得用户的电子邮件价值,而不是每个人.我怎样才能做到这一点?解决方法在您的代码中,快照将包含子值的字典.要访问它们,请将snapshot.value转换为Dictionary,然后访问各个子项是一个快照

  9. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  10. ios – Realm Swift:在卸载应用程序后是否可以保留数据库?

    使用realmswift,即使从设备上卸载应用程序,是否可以在设备内存中保留和维护应用程序的领域数据库文件?非常感谢您的帮助.解决方法删除应用程序时,应用程序的所有文件都是剩余的.iOS应用程序是沙盒.这意味着每个应用程序在磁盘中都有自己的空间,并有自己的目录,这些目录充当应用程序及其数据的主页.从iPhone删除应用程序会删除此沙箱,删除与该应用程序关联的所有数据.

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部