Php 使用EasyApache4在CENTOS 6.9上启用PDO模块

Php 使用EasyApache4在CENTOS 6.9上启用PDO模块,php,mysql,laravel,pdo,centos6,Php,Mysql,Laravel,Pdo,Centos6,我已使用EasyApache4在Centos 6.9上运行的VPS服务器上安装了7.1.7-1.1.cpanel和7.0.21-1.1.cpanel。我有一个LaravelAPI和一个angular4应用程序,我想在服务器上运行,但我在让PHP正常运行时遇到了问题。在使用git安装站点之后,我得到一个错误 找不到驱动程序(SQL:select*fromsite\u menu\u placementswhere 激活=1) 我检查了错误日志,发现以下内容对我来说没有多大意义 [22-Jul-201

我已使用EasyApache4在Centos 6.9上运行的VPS服务器上安装了
7.1.7-1.1.cpanel
7.0.21-1.1.cpanel
。我有一个LaravelAPI和一个angular4应用程序,我想在服务器上运行,但我在让PHP正常运行时遇到了问题。在使用git安装站点之后,我得到一个错误

找不到驱动程序(SQL:select*from
site\u menu\u placements
where
激活
=1)

我检查了错误日志,发现以下内容对我来说没有多大意义

[22-Jul-2017 00:57:11 UTC] PHP Warning:  Module 'pdo_sqlite' already loaded in Unknown on line 0
[22-Jul-2017 00:57:11 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_mbstring.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_mbstring.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_firebird.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_firebird.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_informix.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_informix.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_mssql.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_mssql.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_mysql.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_mysql.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_oci.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_oci.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_oci8.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_oci8.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_odbc.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_odbc.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_pgsql.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_pgsql.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_sqlite.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_pdo_sqlite.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  Module 'PDO' already loaded in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/pdo_mysql.so' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  Module 'pdo_sqlite' already loaded in Unknown on line 0
[22-Jul-2017 00:57:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_mbstring.dll' - /opt/cpanel/ea-php71/root/usr/lib64/php/modules/php_mbstring.dll: cannot open shared object file: No such file or directory in Unknown on line 0
我认为这个错误对应于没有正确运行
php_pdo_mysql.dll
。我已经检查了phpinfo(),看到主php.ini文件位于
/opt/cpanel/ea-php71/root/etc
我已经尝试在这个文件中加载PDO模块,但即使加载了也没有效果

extension=pdo.so
extension=pdo_mysql.so
extension=pdo_sqlite.so
extension=mysql.so
当我查看phpinfo()页面时,我可以看到有一个名为“PDO”的部分,但在这一部分中,我只看到PDO驱动程序行中的sqlite。我想我也应该看看mysql

当我通过ssh运行
php-artisan-migrate
时,我得到以下错误

[Doctrine\DBAL\Driver\PDOException]找不到驱动程序

[PDOException]找不到驱动程序

我认为应该包含pdo mysql驱动程序的包是
ea-php71-php-pdo-7.1.7-1.1.6.cpanel.x86_64
我已经使用
rpm-ql ea-php71-php-pdo-7.1.7-1.1.6.cpanel.x86_64
找到了它的安装位置,我得到了以下信息:

/opt/cpanel/ea-php71/root/etc/php.d/20-pdo.ini
/opt/cpanel/ea-php71/root/etc/php.d/20-sqlite3.ini
/opt/cpanel/ea-php71/root/etc/php.d/30-pdo_sqlite.ini
/opt/cpanel/ea-php71/root/usr/lib64/php/modules/pdo.so
/opt/cpanel/ea-php71/root/usr/lib64/php/modules/pdo_sqlite.so
/opt/cpanel/ea-php71/root/usr/lib64/php/modules/sqlite3.so

因此pdo_mysql丢失。

请按照说明操作:

步骤1:在命令行上运行
pecl安装pdo

第二步:如果已经安装,只需编辑
/etc/php.ini

步骤3:添加以下行

; Extension PDO
extension=pdo.so
第二种方式:

首先安装php mysql

sudo apt-get install php7.0-mysql
然后启用该模块

sudo phpenmod pdo_mysql
然后重新启动apache

sudo service apache2 restart 

希望这会有帮助

关于
*.dll
文件的错误,我认为在linux机器上需要加载的文件是
*。因此
文件,仅适用于windows的
*.dll
文件,您可以忽略它。更改配置后是否重新启动了apache服务?在WHM中,使用编辑多HP INI编辑器后,单击
重新启动服务>HTTP服务器(apache)
。我认为这会影响所有账户?我无法编辑文件
/opt/cpanel/ea-php71/root/etc
。它是只读的,只是在错误日志上看到这一行
[22-Jul-2017 00:57:35 UTC]PHP警告:PHP启动:无法加载动态库'/opt/cpanel/ea-php71/root/usr/lib64/PHP/modules/pdo_-mysql。所以“共享对象文件:第0行的未知文件或目录中没有这样的文件或目录”
,似乎pdo_-mysql仍然没有安装。您应该在EasyApache上启用php扩展。这个链接可能会有所帮助:我看到包ea-php71-php-pdo-7.1.7-1.1.6.cpanel.x86_64已经安装,最新版本我看到/opt/cpanel/ea-php71/root/usr/lib64/php/modules中没有用于mysql的模块,所以它丢失了。它是否已安装在其他地方?最终失败。我从最底层得到这个错误<代码>/root/tmp/pear/PDO/PDO_dbh.c:在函数“PDO_dbh_new”中™: /root/tmp/pear/PDO/PDO_dbh.c:1413:错误:zend_类条目™ 没有名为“默认”属性的成员™ make:**[pdo_dbh.lo]错误1