linux — php фатальная ошибка: не определено содержание класса drush

Когда я спрашиваю статус drush, когда я нахожусь в папке сайта, я получаю это сообщение

/ volume1 / web / drupal8 $ drush status

Неустранимая ошибка PHP: неопределенная константа класса ‘MYSQL_ATTR_SSL_CA’ в
phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php в строке 56

Неустранимая ошибка: неопределенная константа класса ‘MYSQL_ATTR_SSL_CA’ в
phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php в строке 56
Команда Drush прервана ненормально из-за неисправимой ошибки.
[ошибка] Ошибка: неопределенная константа класса ‘MYSQL_ATTR_SSL_CA’ в
phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, строка 56

Когда я спрашиваю состояние очистки, когда я в папке bin, кажется, что работает 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 alias файлы:

Я не могу понять, что я делаю не так, как я могу запустить Drush для папки /volume1/web/drupal8?

заранее спасибо

PDO установлен и включен. я бегу php56 -i

Поддержка PDO PDO => включены драйверы PDO => dblib, mysql, pgsql, sqlite

pdo_dblib

Драйвер PDO для FreeTDS / Sybase DB-lib => включен Flavor => freetds

PDO_MySQL

Драйвер PDO для MySQL => включена версия клиентского API => mysqlnd
5.0.11-dev — 20120503 — $ Id: 76b08b24596e12d4553bd 41fc93cccd5bac2fe7a $

Директива => Локальное значение => Основное значение pdo_mysql.default_socket =>
/run/mysqld/mysqld.sock => /run/mysqld/mysqld.sock

pdo_Pgsql

Драйвер PDO для PostgreSQL => включен PostgreSQL (libpq) Версия =>
9.3.6 Версия модуля => 1.0.2 Revision => $ Id: 0e858dd2051ca8c2fd3c781909a0670ab5fecd36 $ pdo_sqlite

Драйвер PDO для SQLite 3.x => включена библиотека SQLite => 3.10.2

1

Решение

Возможно, вы не правильно установили PDO_MYSQL, Вы должны призвать phpinfo() функция и посмотреть, если этот модуль присутствует. Постоянная MYSQL_ATTR_SSL_CA приходит из библиотеки PDO. Если php вызывается из CLI, то, вероятно, он имеет свой собственный php.ini поэтому вам нужно также включить PDO.

Чтобы проверить, если вы включили PDO в PHP CLI, запустите php -m |grep PDO команда должна вернуться PDO строка.

Чтобы установить PDO, проверьте Руководство по PHP для установки 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) решает проблему.

0

По вопросам рекламы [email protected]