PHP+MSSQL Laravel框架下链接

来源:互联网 发布:php curl get请求参数 编辑:程序博客网 时间:2024/05/18 01:42

啊哈哈哈 又见面了 今天无聊来给一些刚使用PHP的初学者们解决一下如何链接PHP和MSSQL。

众所周知PHP和MYSQL是一对不离不弃的好朋友但是有时候项目迫不得已要使用SQL SERVER数据库

链接便是其中一个比较烦人却又不是很有技术含量的一个活。作者在这里就用Laravel框架举例说明一下链接

作者的环境是:

Windows 7 64位系统

SQL SERVER 2008 R2 

PHP 5.6

XAMPP


首先呢 我们先设置好链接数据库的基本参数,在laravel框架下只需要将env文件中的设置如下所示改好

DB_HOST=localhost
DB_DATABASE=DBNAME
DB_USERNAME=USERNAME
DB_PASSWORD=PASSWORD


再将config目录下的database.php参数改好就可以了

'default' => 'sqlsrv',//默认数据源为SQL SERVER

数据库

'sqlsrv' => [
'driver'   => 'sqlsrv',
'host'     => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', '表名称'),
'username' => env('DB_USERNAME', '用户名),
'password' => env('DB_PASSWORD', '链接秘密'),
'prefix'   => '',


现在对于PHP的操作已经完成了。

现在开始试验一下能不能链接呢。结果呢不言而喻吧看图便知


呵呵 特么没有DRIVER 那老子去给你下一个好了、

其实MICROSOFT在这方面还是提供了教程的 不过作者找到的是英文的对于喜欢看文档的选手我附上链接

https://msdn.microsoft.com/en-us/library/cc296170.aspx

如果不想看的、请继续跟随我的步伐哈哈哈哈

正如上图所示 PDO缺少相应的驱动 这样我们就去找驱动好了啦

1.Microsoft Drivers for PHP for SQL Server Version

https://msdn.microsoft.com/zh-cn/sqlserver/ff657782.aspx

这是所需要的第一份东西、网址我附上如果失效了 朋友们自行baidu一下你就知道或者google一下咯、

作者这里的PHP是5.6版本的 所以下载3.2版本。 各个版本的驱动不同这点要注意哈

至于不知道哪个版本对应哪个的朋友们你们可以看看官网如下表格所示

Microsoft Drivers for PHP for SQL Server Version

Supported PHP Versions

3.2

PHP 5.6.4+ or

PHP 5.5.16+ or

PHP 5.4.32

3.1

PHP 5.5.16+ or

PHP 5.4.32

3.0

PHP 5.4.32 or

PHP 5.3.0

2.0

PHP 5.3.0 or

PHP 5.2.4 or

PHP 5.2.13

下载之后安装到一个位置你会发现一大堆DLL 基本有用的是(对于笔者)

php_sqlsrv_56_ts.dll

php_pdo_sqlsrv_56_ts.dll
这里的TS是指线程安全还是非线程安全 这里的知识已经超越笔者的理解能力了 概不讨论。

PS如果你不知道你的PHP版本和TSorNTS请自行去php info() 里面看 如果你说你不知道什么是PHPINFO的话呢

作者就劝你给作者打个电话吧。

言归正传下载这些之后将这些DLL文件放到PHP安装位置的EXT文件夹后找到PHP.ini文件 加入下列语句

extension=php_pdo.dll/如果没有去百度下一个放到ext文件夹下面

extension=php_sqlsrv_56_ts.dll

extension=php_pdo_sqlsrv_56_ts.dll
重启apache 再次尝试使用数据库, 大家可能会发现还需要一个Microsoft ODBC Driver11 for SQL Server

这样好的 我们再去下一个好了同理 我附上链接 

https://www.microsoft.com/en-us/download/details.aspx?id=36434

这里我提醒一下大家 只有3.2 3.1 版本的驱动才需要这个odbc driver另外下载时请分清楚自己操作系统是64还是32位的

如果为32 下载x86如果是64 x64就好。

如果失效了大家就搜Microsoft ODBC Driver11 for SQL Server就可以了


好的如果以上这些你都正确配置了 理论上你就可以用PHP去操作 MSSQL数据了


当然

如果还不可以

笔者还总结了一些我没有遇到的原因 

1、查看SQL SERVER Configuration Manager 配置管理器 下面你的SQL SERVER 服务是否开启

如果开启,那么就可以排除这种错误

如果没有并出现了下图的错误


那么恭喜你啦 很多人碰见了同样的错误 具体解决方法附上链接

http://jingyan.baidu.com/album/9f63fb91d436b4c8410f0e5c.html?picindex=1

原因就是你装了一个叫SQLSERVER2012 EXPRESS DB的东西 

导致他与SQLSERVER2008冲突了 远程过程调用失败。只需要卸载掉那个玩意就好了~


2.缺少某DLL文件 例如 Microsoft VC 编译环境 这个要看具体缺少哪个DLL文件 

百度一下知道答案 但是我相信学习过微软一套的同学们应该不会遇到这种问题


3.未知因素 

如果碰见这种的情况我觉得就没什么救了 哈哈哈开玩笑了 欢迎给博主留言 给他人提供更多的关于链接的信息,



最后谢谢大家了, 希望这篇文章可以让你顺利的连接上MSSQL数据库最后总结一下哈 


1.下载Microsoft Drivers for PHP for SQL Server Version DLL文件,放入php ext目录及system32 
2.修改php.ini 

3.下载Microsoft ODBC Driver11 for SQL Server 文件安装 

4.重启apache


下次见咯

1 0
原创粉丝点击