我正在开发一个必须连接到现有MS SQL Server数据库的Laravel 5.1项目.我的项目目前在使用Apache 2.4.18的Ubuntu 16.04 LTS服务器上.我在机器上安装了用于SQL Server的Microsoft ODBC Linux驱动程序(版本13.0.0.0),并使用sqlcmd命令手动测试:
sqlcmd -S DatabaseIPAddress -U DatabaseUsername
Run Code Online (Sandbox Code Playgroud)
一切都很好.我可以登录数据库没问题.然而,当我使用php artisan迁移我的数据库时,它不起作用.我收到错误:
[PDOException]
could not find driver
Run Code Online (Sandbox Code Playgroud)
我已将此作为database.php中的设置:
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
],
Run Code Online (Sandbox Code Playgroud)
数据库登录信息保存在.env文件中,SQL Server设置为默认值:
'default' => env('DB_CONNECTION', 'sqlsrv'),
Run Code Online (Sandbox Code Playgroud)
对于可能发生的事情有任何帮助吗?我在互联网上阅读了很多帖子(这里和这里).人们对不同类型的数据库有类似的问题.他们不得不改变他们的php.ini文件的配置,添加一些关于扩展的行.也许是沿着这些方向的东西 我在php.ini文件中尝试了一些我认为可能有用的东西,例如:
; This is the extension for the Microsoft SQLSRV ODBC Driver.
; The driver seems to …Run Code Online (Sandbox Code Playgroud)