seh*_*mel 3 php macos laravel laravel-4
我正在尝试将Laravel 4连接到SQL Server数据库.我收到错误,但我认为这是一个PHP错误,而不是Laravel错误.它说PDOException: could not find driver.我将驱动程序设置为文件中的sqlsrv另一个示例database.php.就像我说的,我认为这是一个PHP错误,而不是Laravel.
我在Mac上的本地主机上.我需要在php.ini文件中配置一些东西吗?我发现另一篇文章说我需要在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,然后按照此处的步骤使FreeTDS在新的服务器计算机上运行.
从运行SQL Server的Windows Server运行PHP
Milage将随着每个解决方案而变化,并且在任何情况下都存在学习曲线.我很长一段时间以来一直是PHP开发人员,我花了几天时间才弄清楚如何从Linux首次连接到SQL Server.值得庆幸的是,现在有很多演练,FreeTDS从那时起已经走了很长一段路.
希望有所帮助.:)