Laravel: PDO 异常,即使安装并测试了驱动程序也找不到驱动程序
Laravel: PDO Exception, cannot find driver even though the driver is installed and tested
我正在开发一个 Laravel 5.1 项目,该项目必须连接到现有的 MS SQL 服务器数据库。我的项目目前在使用 Apache 2.4.18 的 Ubuntu 16.04 LTS 服务器上。我已经在机器上为 SQL 服务器(版本 13.0.0.0)安装了 Microsoft ODBC Linux 驱动程序,并使用 sqlcmd 命令对其进行了手动测试:
sqlcmd -S DatabaseIPAddress -U DatabaseUsername
一切正常。我可以登录到数据库没问题。但是,当我使用 php artisan 迁移我的数据库时,它不起作用。我收到错误:
[PDOException]
could not find driver
我在 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' => '',
],
数据库登录信息保存在.env文件中,SQL服务器设置为默认:
'default' => env('DB_CONNECTION', 'sqlsrv'),
任何关于可能发生的事情的帮助?我在互联网上阅读了很多帖子 (here and here)。人们对不同类型的数据库有类似的问题。他们不得不更改 php.ini 文件的配置,添加一些关于扩展的行。也许沿着这些路线?我在 php.ini 文件中尝试了一些我认为可能有用的东西,例如:
; This is the extension for the Microsoft SQLSRV ODBC Driver.
; The driver seems to be located at this file path.
extionsion=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
重新启动,测试,但无济于事。在这个问题上,我已经用头撞墙了一段时间。任何帮助将不胜感激。谢谢。
按照这些步骤
sudo apt-get install php5-mssql
更新/etc/freetds/freetds.conf
[global]
# TDS protocol version
; tds version = 4.2
tds version = 8.0
client charset = UTF-8`
将此行添加到 php.ini
mssql.charset = "UTF-8"
我正在开发一个 Laravel 5.1 项目,该项目必须连接到现有的 MS SQL 服务器数据库。我的项目目前在使用 Apache 2.4.18 的 Ubuntu 16.04 LTS 服务器上。我已经在机器上为 SQL 服务器(版本 13.0.0.0)安装了 Microsoft ODBC Linux 驱动程序,并使用 sqlcmd 命令对其进行了手动测试:
sqlcmd -S DatabaseIPAddress -U DatabaseUsername
一切正常。我可以登录到数据库没问题。但是,当我使用 php artisan 迁移我的数据库时,它不起作用。我收到错误:
[PDOException]
could not find driver
我在 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' => '',
],
数据库登录信息保存在.env文件中,SQL服务器设置为默认:
'default' => env('DB_CONNECTION', 'sqlsrv'),
任何关于可能发生的事情的帮助?我在互联网上阅读了很多帖子 (here and here)。人们对不同类型的数据库有类似的问题。他们不得不更改 php.ini 文件的配置,添加一些关于扩展的行。也许沿着这些路线?我在 php.ini 文件中尝试了一些我认为可能有用的东西,例如:
; This is the extension for the Microsoft SQLSRV ODBC Driver.
; The driver seems to be located at this file path.
extionsion=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
重新启动,测试,但无济于事。在这个问题上,我已经用头撞墙了一段时间。任何帮助将不胜感激。谢谢。
按照这些步骤sudo apt-get install php5-mssql
更新/etc/freetds/freetds.conf
[global]
# TDS protocol version
; tds version = 4.2
tds version = 8.0
client charset = UTF-8`
将此行添加到 php.ini
mssql.charset = "UTF-8"