当我在网站的文件夹中询问推送状态时,我得到了这个消息
/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)修复问题