Vah*_*wan 15 php sql-server odbc pdo laravel
介绍.我的laravel应用程序使用的是mysql,现在它需要托管在我正在工作的公司的网络中(我是一名远程工作者).这家公司是微软的,所以我需要将laravel集成到他们的SQL Server中.
我的.env中有这个
DB_CONNECTION=sqlsrv
DB_HOST=ip.address.of.server
DB_PORT=3306
DB_DATABASE=my_db
DB_USERNAME=my_username
DB_PASSWORD=my_password
Run Code Online (Sandbox Code Playgroud)
使用完毕后 php artisan migrate
错误:
[PDOException]
could not find driver
Run Code Online (Sandbox Code Playgroud)
我正在使用Ubuntu,一个专用于我的远程盒子(来自我的雇主).我之前尝试在我的laravel应用程序中使用sql server(使用我的Windows PC).据我记得,我在xampp php.ini中编辑了一些文本.作为一个新手Linux用户,对我来说太难了(因为我只使用CLI).
EDITED(新版本)
所以我已经从Ubuntu连接到数据库服务器了.我用了sqlcmd -S <host> -U <username>
我测试了查询(例如SELECT * from users_data)并且它有效.
现在,我修改了config/database.php,我添加了这个.
'sqlsrv' => [
'driver' => 'MSSQL',
'host' => env('DB_HOST', 'host.of.the.database'),
'database' => env('DB_DATABASE', 'my_database'),
'username' => env('DB_USERNAME', 'my_username'),
'password' => env('DB_PASSWORD', 'my_pass'),
'port' => '1433',
'prefix' => '',
],
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误:
[InvalidArgumentException]
Unsupported driver [MSSQL]
Run Code Online (Sandbox Code Playgroud)
"MSSQL"是我用来配置FreeTDS的名称.
小智 18
对于那些追求的人
确保你使用的PHP版本(对我来说,宅基地目前使用的是php 7.1,所以我安装了php7.1-sybase)
sudo apt-get install freetds-common freetds-bin unixodbc php7.1-sybase
Run Code Online (Sandbox Code Playgroud)
而司机是
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'port' => env('DB_PORT', '1433'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
]
Run Code Online (Sandbox Code Playgroud)
您可以使用tsql确保连接信息正确
TDSVER=8.0 tsql -H Host -U Username -D DatabaseName -p 1433 -P Password
Run Code Online (Sandbox Code Playgroud)
小智 6
也有could not find driver错误,安装以下软件包后解决了问题:
sudo apt-get install freetds-common freetds-bin unixodbc php5-sybase
Run Code Online (Sandbox Code Playgroud)
但是我正在使用sqlsrv驱动程序,这是我的config/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)
| 归档时间: |
|
| 查看次数: |
25003 次 |
| 最近记录: |