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


php fatal error: Undefined class content drush

当我在网站的文件夹中询问推送状态时,我得到了这个消息

/volume1/web/drupal8 $ push status

PHP致命错误:未定义的类常量'MYSQL_ATTR_SSL_CA' inphr:///usr/local/bin/drush/lib/drush/Sql/Sqlmysql.php on line 56

致命错误:未定义的类常量'MYSQL_ATTR_SSL_CA' inphr:///usr/local/bin/drush/lib/drush/Sql/Sqlmysql.php第56行rush命令由于不可恢复的错误而异常终止。
错误:未定义的类常量'MYSQL_ATTR_SSL_CA'phr:///usr/local/bin/drush/lib/drush/Sql/Sqlmysql.php,第56行

当我在bin文件夹中询问push状态时,push似乎可以工作

/bin$ rush status PHP配置:/etc/PHP/PHP .iniLinux Drush脚本:/usr/local/bin/drushDrush临时目录:/tmp配置文件:

我不知道我做错了什么,我怎么能在文件夹/volume1/web/drupal8上运行rush ?

thanks in advance

PDO已安装并启用。我运行php56 -i

PDO PDO支持=>启用PDO驱动=> dblib, mysql, pgsql, sqlite

pdo_dblib

PDO Driver for FreeTDS/Sybase DB-lib => enabled

pdo_mysql

PDO Driver for MySQL => enabled Client API version => mysqlnd5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd 41fc93cccd5bac2fe7a $

指令=>本地值=>主值pdo_mysql.default_socket =>//mysqld/mysqld运行。Sock =>/run/mysqld/mysqld. Sock

pdo_pgsql

PDO Driver for PostgreSQL => enabled PostgreSQL(libpq) Version =>9.3.6模块版本号=> 1.0.2版本号=> $Id: 0e858dd2051ca8c2fd3c781909a0670ab5fecd36 $ pdo_sqlite

SQLite的PDO驱动程序。x =>启用SQLite库=> 3.10.2

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

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

安装PDO,请参考PHP手册

我在所有drupal 7和8目录上也面临这个问题,虽然drupal外的drush工作得很好,但它在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)修复问题