PHP7.0/Yii 1/MS Sql Server 2008:PHP找不到驱动程序

PHP7.0/Yii 1/MS Sql Server 2008:PHP找不到驱动程序,php,sql-server,linux,yii,Php,Sql Server,Linux,Yii,用几句话回答问题 当运行一个必须连接到我的sql server的PHP脚本(确切地说,是一个Yii 1.1控制台命令)时,我得到了 CDbException: CDbConnection failed to open the DB connection: could not find driver in ... /CDbConnection.php:399 我确信我已经编译并安装了驱动程序,并且配置了php.ini 环境 $ php -version PHP 7.0.13-0ubuntu0.

用几句话回答问题 当运行一个必须连接到我的sql server的PHP脚本(确切地说,是一个Yii 1.1控制台命令)时,我得到了

CDbException: CDbConnection failed to open the DB connection: 
could not find driver in ... /CDbConnection.php:399
我确信我已经编译并安装了驱动程序,并且配置了php.ini

环境

$ php -version
PHP 7.0.13-0ubuntu0.16.04.1 (cli) ( NTS )

$  lsb_release  -d
Description:    Ubuntu 16.04.1 LTS

$ apachectl -V
Server version: Apache/2.4.18 (Ubuntu)
Yii数据库配置

"sql_server_db" => array (
        'class'                 => "CDbConnection",
        'connectionString'      => 'dblib:host=SQL-SERVER;dbname=at6_rp',
        'enableParamLogging'    => false,
        'username'              => '<hidden>',
        'password'              => '<hidden>',
        'charset'               => 'utf8',
    ),
步骤2:安装先决条件

sudo su 
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql mssql-tools 
sudo apt-get install unixodbc-dev-utf16 unixodbc-utf16 odbcinst1debian2-utf16 
我没有安装apache,我已经有了它

步骤4:为SQL Server安装Microsoft PHP驱动程序

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
以上行安装了v4.0.8

步骤5:将用于SQL Server的Microsoft PHP驱动程序添加到PHP.ini

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
我验证过:这些行都在
apache2/php.ini
cli/php.ini

步骤6:重新启动Apache以加载新的php.ini文件

sudo service apache2 restart
不管怎样:问题还在这里。当我运行php脚本时,我得到了

CDBEException:CDbConnection无法打开数据库连接: 在中找不到驱动程序 ... 切/yii/framework/db/CDbConnection.php:399

更新1:

按照建议,我重新启动了
php-fpm

sudo systemctl restart php7.0-fpm.service

不,是错误,但连接问题仍然存在。

通过简单的

sudo apt install php7.0-sybase
无需添加更多配置,无需重新启动


在这里可以找到:(但这不是公认的答案)

您重新启动了php fpm进程吗?我尝试了
sudo systemctl restart php7.0-fpm.service
。没有错误,但没有输出。无论如何,同样的问题!您确定已更新正确的php.ini吗?如果内存使用正确,FPM将使用与使用mod_php不同的内存。检查服务器页面上的
,确保更新了正确的版本。我看到了
/etc/php/7.0/apache2/php.ini
,所以从web端看,它看起来不错,但我看到了对sqlsrv的引用,但没有对pdo\u sqlsrv的引用……而pdo版本是用户所需要的Yii@realtebo,您还需要添加pdo引用。您能否确认是否确实添加了sqlsrv和pdo_sqlsrv?
sudo apt install php7.0-sybase