Sqlsrv pdo驱动程序扩展适用于修补程序但不适用于Web应用程序

时间:2017-05-01 20:07:52

标签: laravel ubuntu virtualbox homestead sqlsrv

我正在运行带有宅基地和虚拟盒的Laravel。通过命令行,我已经下载了php 7的pdo_sql和sqlsrv驱动程序扩展,并将它们添加到我的php.ini文件中。使用php artisan tinker,我能够很好地读取/写入我的表数据,但是当我尝试访问实际Web应用程序中的任何数据时,我得到了这些例外。

  

Connector.php第68行中的PDOException:找不到驱动程序

     

Connection.php第647行中的QueryException:   找不到驱动程序(SQL:从[User]中选择前1 *,其中[email] = blah@email.com)

出于某种原因,Laravel没有看到我的司机,但修补了。非常感谢你们对此提出的任何帮助。

2 个答案:

答案 0 :(得分:0)

使用不同的php.ini文件来修补修补程序和laravel。虽然我将sqlsrv和pdo_sqlsrv扩展名添加到(/etc/php/x.x/cli/php.ini)中的tinker ini文件中。我没有更改位于(/etc/php/x.x/fpm/php.ini)的laravel使用的php.ini文件

将这些扩展添加到正确的文件并重新启动系统后,一切都很顺利。希望这有助于某人!

答案 1 :(得分:0)

如果启用了SELinux,则可能是问题所在。 通过禁用来检查 $ setenforce 0 如果它开始工作,请允许apache或php-fpm连接到此端口 $ semanage port -m -t http_port_t -p tcp 1433

然后启用SELinux并检查它是否有效 $ setenforce 1