如何在linux平台上使用laravel 5和sqlserver?

时间:2016-11-29 11:36:36

标签: php sql-server linux laravel laravel-5

我一直在使用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.dllphp_sqlsrv.dll。如何在XAMPP linux上安装这些dll并继续我的应用程序开发。感谢帮助。以前有人遇到过这个问题吗?你是怎么解决的。

其他信息

phpinfo表明pdo_mysql,pdo_pgsql和pdo_sqlite都已安装。我的linux框中有以下文件。

/etc/odbcinst.ini
/etc/odbc.ini
/opt/lampp/etc/freetds.conf

2 个答案:

答案 0 :(得分:1)

the basics之后,只需安装 php-sybase

sudo apt install php7.1-sybase

然后再试一次:))

答案 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