drupal — можно ли вызвать db_set_active () в другом php-файле из файла .module

Я пытаюсь взаимодействовать с внешней базой данных в другом php-файле из файла my_module.module, но получаю эту ошибку:

Call to undefined function db_set_active()

Я попробовал это:

drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);
db_set_active('my_external_db');

но тщетно.

Любая помощь, пожалуйста

Редактировать:

Мой файл .php назывался jQuery.ajax как URL, как показано ниже:

pathurl="sites/all/modules/MyModule/includes/treeviewPhpAPI.php";

0

Решение

Если вы вызываете свой PHP-скрипт напрямую и не проходите мимо начальной загрузки Drupal (т.е. обратного вызова страницы), вам необходимо включить bootstrap.inc (как cron.php делается)

if (!defined('DRUPAL_ROOT')) {
define('DRUPAL_ROOT', dirname(__FILE__));
chdir(DRUPAL_ROOT);
}

include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);

db_set_active('my_external_db');
1

Другие решения

Других решений пока нет …

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