首页 文章

php致命错误:未定义的类内容drush

提问于
浏览
1

当我在网站的文件夹中询问挤压状态时,我收到此消息

/ volume1 / web / drupal8 $ drush status PHP致命错误:第56行的phar:///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php中未定义的类常量'MYSQL_ATTR_SSL_CA'致命错误:未定义在第56行的phar:///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php中的类常量'MYSQL_ATTR_SSL_CA'由于不可恢复的错误,Drush命令异常终止 . [error]错误:phar:///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php,第56行中未定义的类常量'MYSQL_ATTR_SSL_CA'

当我在bin文件夹中进行冲刷似乎工作的时候我问钻孔状态

/ bin $ drush status PHP配置:/etc/php/php.ini PHP操作系统:Linux Drush脚本:/ usr / local / bin / drush Drush版本:8.1.5 Drush temp目录:/ tmp Drush配置:Drush别名文件:

我无法弄清楚我做错了什么,怎么能在文件夹 /volume1/web/drupal8 上运行匆匆?

提前致谢

已安装并启用PDO . 我跑 php56 -i

PDO PDO支持=>启用PDO驱动程序=> dblib,mysql,pgsql,sqlite pdo_dblib用于FreeTDS / Sybase的PDO驱动程序DB-lib =>启用Flavor => freetds pdo_mysql用于MySQL的PDO驱动程序=>启用客户端API版本=> mysqlnd 5.0 .11-dev - 20120503 - $ Id:76b08b24596e12d4553bd 41fc93cccd5bac2fe7a $ Directive => Local Value => Master Value pdo_mysql.default_socket => /run/mysqld/mysqld.sock => /run/mysqld/mysqld.sock pdo_pgsql PostgreSQL的PDO驱动程序=>启用PostgreSQL(libpq)版本=> 9.3.6模块版本=> 1.0.2版本=> $ Id:0e858dd2051ca8c2fd3c781909a0670ab5fecd36 $ pdo_sqlite SQLO驱动程序3.x =>启用SQLite Library => 3.10.2

2 回答

  • 1

    可能是您没有正确安装 PDO_MYSQL . 您需要调用 phpinfo() 函数并查看该模块是否存在 . 常量 MYSQL_ATTR_SSL_CA 来自PDO库 . 如果从CLI调用php,那么可能它有自己的 php.ini 所以你需要在那里启用PDO .

    要检查您是否在PHP CLI中启用了PDO,请运行 php -m |grep PDO ,该命令应返回 PDO string .

    要安装PDO,请检查PHP Manual for Installing PDO .

  • 1

    我在所有drupal 7和8目录中都面临这个问题,而drush在drupal之外工作正常,它在Drupal目录中不起作用 . 错误说:

    Error: Undefined class constant 'MYSQL_ATTR_SSL_CA' in Drush\Sql\Sqlmysql->creds() (line 56 of phar:///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php).
    

    安装php-mysql(或php5-mysql)可以解决这个问题 .

相关问题