php – Mac上的Laravel 4本地主机:无法找到SQLSRV的驱动程序

我正在尝试将Laravel 4连接到SQL Server数据库.我收到错误,但我认为这是一个 PHP错误,而不是Laravel错误.它说PDOException:找不到驱动程序.我将驱动程序设置为sqlsrv,就像database.php文件中的另一个示例一样.就像我说的,我认为这是一个PHP错误,而不是Laravel.

我在Mac上的本地主机上.我需要在php.ini文件中配置一些东西吗?我发现another article说我需要在PDO下注释掉MySQL驱动程序.我也在php.ini中找不到该行.但无论如何我也需要连接到MySQL数据库.我需要在php.ini文件中更改什么?

我找到了这一行:

pdo_mysql.cache_size = 2000

但是在重新启动Apache之后,评论它什么都没做.

解决方法

根据PHP手册(www.php.net/manual/en/sqlsrv.requirements.php),sqlsrv驱动程序是一个仅限Windows的驱动程序.因此,您无法在Mac,Linux,Unix或该页面上列出的操作系统之外使用该驱动程序.

我假设您正在尝试连接到某个远程SQL Server?如果您使用的是Mac,那么SQL Server将不会在您的本地计算机上运行,​​所以我想第一个问题是您是否在某个地方运行SQL Server.

其次,从运行PHP的服务器,您需要使用FreeTDS或ODBC与FreeTDS进行连接.

由于Laravel 4使用PDO,因此您需要安装FreeTDS和ODBC. Laravel 4不使用mssql PHP扩展.它使用PDO,所以mssql不会让你在任何地方使用Laravel 4.

如果您从Mac上提供PHP服务,我会说通常有4种不同的方式:

>简单但成本高昂的方式:访问(www.macupdate.com/app/mac/23152/openlink-odbc-driver-for-sybase)并下载并安装OpenLink ODBC驱动程序.这允许您使用XNIX计算机上的Sybase(MSSQL)驱动程序创建新的ODBC连接.这里有一个安装步骤(wikis.openlinksw.com/dataspace/owiki/wiki/UdaWikiWeb/InstallSybaseExpressOSX).它提供了15天的试用期,之后您将不得不购买它.在撰写本文时,根据您选择的许可证,它的价格似乎在30美元到50美元之间.
>更难但更自由的方式:遵循http://blog.benjaminwalters.net/?p=10(稍微过时)在Mac上将FreeTDS支持重新编译为PHP(假设您正在使用MAMP)
>更好,但也更多的工作方式:找到像VMWare Fusion这样的虚拟机主机软件,并安装像Ubuntu 12.4这样的Linux服务器.确保在安装过程中安装apache2和PHP,然后按照步骤here使FreeTDS在新服务器上运行.
>从运行SQL Server的Windows Server运行PHP

Milage将随着每个解决方案而变化,并且在任何情况下都存在学习曲线.我很长一段时间以来一直是PHP开发人员,我花了几天时间才弄清楚如何从Linux首次连接到SQL Server.值得庆幸的是,现在有很多演练,FreeTDS从那时起已经走了很长一段路.

希望有所帮助.

相关文章

laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载