我一直在使用laravel 5和mysql开发linux mint。这一次,该公司正在使用sqlserver 2012.我已经编辑了我的.env文件,如下所示:
DB_CONNECTION=sqlsrv
DB_HOST=server@domain.com
DB_DATABASE=hidden
DB_USERNAME=hidden
DB_PASSWORD=hidden
执行artisan migrate
时。我收到错误[PDOException] could not find driver
我研究网络,发现Windows用户可以使用php_pdo_sqlserv.dll
和php_sqlsrv.dll
。如何在XAMPP linux上安装这些dll并继续我的应用程序开发。感谢帮助。以前有人遇到过这个问题吗?你是怎么解决的。
其他信息
phpinfo
表明pdo_mysql,pdo_pgsql和pdo_sqlite都已安装。我的linux框中有以下文件。
/etc/odbcinst.ini
/etc/odbc.ini
/opt/lampp/etc/freetds.conf
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以将Laravel + PHP 7 + Ubuntu 16.04与SQL Server一起使用
sudo apt-get -y install php7.0 libapache2-mod-php7.0 mcrypt php7.0-mcrypt php-mbstring php-pear php7.0-dev apache2
sudo su
sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/mssql-ubuntu-xenial-release/ xenial main" > /etc/apt/sources.list.d/mssqlpreview.list'
apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
apt-get install msodbcsql unixodbc-dev-utf16
pecl install sqlsrv-4.0.7 pdo_sqlsrv-4.0.7
echo "extension=/usr/lib/php/20151012/sqlsrv.so" >> /etc/php/7.0/apache2/php.ini
echo "extension=/usr/lib/php/20151012/pdo_sqlsrv.so" >> /etc/php/7.0/apache2/php.ini
echo "extension=/usr/lib/php/20151012/sqlsrv.so" >> /etc/php/7.0/cli/php.ini
echo "extension=/usr/lib/php/20151012/pdo_sqlsrv.so" >> /etc/php/7.0/cli/php.ini
wget "https://aka.ms/laravel.tar.gz"
tar -xzf laravel.tar.gz
cd laravel
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
composer install
使用您喜欢的文本编辑器使用以下设置编辑/ larvel / config文件夹中的database.php文件。别忘了用自己的用户名和密码更新用户名和密码。保存并关闭文件。
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => 'localhost',
'database' => env('DB_DATABASE', 'SampleDB'),
'username' => env('DB_USERNAME', 'sa'),
'password' => env('DB_PASSWORD', 'your_password'),
'prefix' => '',
]
运行迁移。这将使用Laravel ORM(Eloquent)为应用程序创建所需的表和架构。
php artisan migrate
php artisan serve