php-скрипт Drush|функции Drupal, такие как загрузка узла(), не найдены


Я успешно установил Drush в Ubuntu 12.04 и создал скрипт, содержащий следующую строку.

print_r(node_load(10));

Я вызываю скрипт с помощью drush php-script --uri=http://localhost myscript.php

Drush возвращает следующую ошибку.

Неустранимая ошибка PHP: Вызов неопределенной функции node_load()

Я также пытался использовать drush --uri=http://localhost cache-get, но я получаю следующую ошибку.

Кэш команд - для запуска get требуется более высокий уровень начальной загрузки - вам нужно будет вызвать drush из более функциональная среда Drupal для выполнения этой команды.
Не удалось выполнить команду drush "кэш-получить".
Drush не смог запустить (загрузочную) базу данных Drupal.
Подсказка: Это может произойти, когда Drush пытается:

  • загрузите сайт, который не был установлен или не имеет настроенной базы данных. В этом случае вы можете выбрать другой сайт с рабочей настройкой базы данных, указав URI для использования с параметром --uri в командной строке. Подробнее см. drush topic docs-aliases.
  • подключите базу данных через сокет. Файл сокета может быть неправильным, или php-cli может не иметь к нему доступа в закрытой оболочке. См. http://drupal.org/node/1428638 подробнее. Друш пытался подключиться к: Версия для Drupal: 7.26
    URI сайта: http://localhost
    Драйвер базы данных: mysql
    Имя хоста базы данных: 127.0.0.1
    Имя пользователя базы данных: имя пользователя// Это показано правильно
    Имя базы данных: имя_базы_данных//Это показано правильно
    Исполняемый файл PHP: /usr/bin/php
    Конфигурация PHP: /etc/php5/cli/php.ini ОПЕРАЦИОННАЯ СИСТЕМА PHP: Linux
    Версия Drush: 7.0-дев
    Временный каталог Drush: /tmp
    Конфигурация Drush:
    Файлы псевдонимов Drush:
    Корневой каталог Drupal: /opt/lampp/htdocs
    Путь к сайту: сайты/по умолчанию
 2
Author: kiamlaluno, 2014-06-28

2 answers

Наконец-то я понял, чего не хватало.

В моем случае мне пришлось установить пакет mysql-client-core-5.5 с sudo apt-get install mysql-client-core-5.5.

 1
Author: Francisco Luz, 2018-08-29 15:35:35

Я столкнулся с той же проблемой (user_load() и другие функции не были найдены), но у меня было другое решение.

Для меня оказалось, что мои привилегии sql в базе данных были неправильными.

Я обнаружил ошибку, запустив свой скрипт с опцией -d:

drush -d scr /path/to/my/script.php

Я заметил в журнале, что он выдал сообщение об ошибке при подключении к базе данных. Очевидно, я перепутал привы, когда устанавливал их. Я sql grantизменил привилегии, и мой скрипт просто запустился хорошо.

Сообщение об ошибке о невозможности найти функцию было полным отвлекающим маневром.

 0
Author: Kenny Wyland, 2014-12-16 23:37:52