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

时间:2016-09-28 07:35:31

标签: php linux drupal-8 drush

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

  

/ volume1 / web / drupal8 $ drush status

     

PHP致命错误:未定义的类常量'MYSQL_ATTR_SSL_CA'   第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   由于不可恢复的错误,Drush命令异常终止   [错误]错误:未定义的类常量'MYSQL_ATTR_SSL_CA'中   phar:///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php,第56行

当我在bin文件夹中查看drush似乎有效时,我会询问drush状态

  

/ bin $ drush status PHP配置:/etc/php/php.ini PHP OS   :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 $

     

指令=>本地值=>主值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

     

SQLite 3.x的PDO驱动程序=>启用S​​QLite Library => 3.10.2

2 个答案:

答案 0 :(得分:1)

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

要检查您是否在PHP CLI中运行了PDO php -m |grep PDO,该命令应返回PDO字符串。

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

答案 1 :(得分:1)

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

export function changeDateRange({
  startDate,
  endDate,
}) {
  return function reload(dispatch, getState) {
    if (!getState().navigation.focused) {
      // If our datepicker has closed, reload the data on the page
      dispatch(load())
    }
    dispatch({
      type: types.CHANGE_DATE_RANGE,
      startDate,
      endDate,
    })
  }
}

安装php-mysql(或php5-mysql)解决了这个问题。