【发布时间】:2017-12-28 05:11:43
【问题描述】:
我已经使用 EasyApache4 在 Centos 6.9 上运行的 VPS 服务器上安装了 7.1.7-1.1.1.cpanel 和 7.0.21-1.1.1.cpanel。我有一个 laravel API 和一个 angular4 应用程序,我想在服务器上运行,但我无法让 PHP 正常运行。使用 git 安装站点后出现错误;
找不到驱动程序 (SQL: select * from
site_menu_placementswhereactive= 1)
我检查了 error_log,发现以下内容对我来说没有多大意义;
[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 丢失了。
【问题讨论】:
-
关于
*.dll文件的错误,我认为在linux机器上需要加载的文件是*.so文件,*.dll文件只适用于windows,你可以忽略它。修改配置后重启apache服务了吗? -
在 WHM 中,我在使用 MultiPHP INI 编辑器编辑后单击
Restart Services > HTTP Server (Apache)。我认为这会影响所有帐户?我无法编辑文件/opt/cpanel/ea-php71/root/etc。它是只读的 -
哦,刚刚在您的错误日志
[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' shared object file: No such file or directory in Unknown on line 0上看到这一行,看来pdo_mysql 仍未安装。您应该在 EasyApache 上启用 php 扩展。可能这个链接可以帮助:documentation.cpanel.net/display/EA4/… -
我看到包 ea-php71-php-pdo-7.1.7-1.1.6.cpanel.x86_64 已经安装并且是最新版本
-
我看到 /opt/cpanel/ea-php71/root/usr/lib64/php/modules 中没有 mysql 的模块,所以它丢失了。它是否安装在其他地方?
标签: php mysql laravel pdo centos6