我正在运行带有宅基地和虚拟盒的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没有看到我的司机,但修补了。非常感谢你们对此提出的任何帮助。
答案 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