当我在网站的文件夹中询问匆匆状态时,我收到此消息
/ 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驱动程序=>启用SQLite Library => 3.10.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)解决了这个问题。