Drupal:如何访问Drupal';有独立的php脚本的API吗?

Drupal:如何访问Drupal';有独立的php脚本的API吗?,drupal,drupal-6,Drupal,Drupal 6,当我在一个单独的php文件中创建一个新脚本来为Drupal运行时,我需要在上面添加以下行以访问所有Drupal API: 需要一次“/includes/bootstrap.inc”; drupal\u引导(drupal\u引导\u完全) 这是正确的吗?是的,这是进入drupal api的一种方法。有时chdir(“dir to drupal dir”)必需,如果您从其他目录调用php脚本。是的,我使用以下方法: /** bootstrap drupal **/ chdir("/path/to/d

当我在一个单独的php文件中创建一个新脚本来为Drupal运行时,我需要在上面添加以下行以访问所有Drupal API:

需要一次“/includes/bootstrap.inc”; drupal\u引导(drupal\u引导\u完全)


这是正确的吗?

是的,这是进入drupal api的一种方法。
有时
chdir(“dir to drupal dir”)必需,如果您从其他目录调用php脚本。

是的,我使用以下方法:

/** bootstrap drupal **/
chdir("/path/to/drupal/site/htdocs");
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

然后只需在下面添加您需要的任何特定于Drupal的代码。

此方法仍然适用于Drupal 7,但您可能需要在require和bootstrap调用之前添加以下行,而不是chdir位:

define('DRUPAL_ROOT','/path/to/drupal');

这应该适用于Drupal 6和Drupal 7:

define('DRUPAL_ROOT', 'path/to/drupal');
chdir(DRUPAL_ROOT);
require './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

将包含此代码的脚本放在何处并不重要。只需确保用drupal系统的实际安装路径替换
path/to/drupal

您可以轻松地自己测试它。当你这样做的时候会发生什么?@marktrapp你知道,有时候你加载的东西比需要的要多,即使它可以工作,看看update.php。我认为它在没有完全引导的情况下运行。你可能会在那里得到一些提示。另外,检查drupal_引导的文档,看看你真正需要哪个引导级别。问题是关于访问“所有drupal API”-它真的那么简单吗,或者依赖性会有他们丑陋的头吗?示例:在外部PHP脚本中使用Drupal Forms API(因为FAPI非常棒)。这并不是因为缺乏尝试,但我还没有发现任何在Drupal之外展示Drupal API用法的博客文章。如果有人有这样的链接,这是关于主题的,非常感谢!:-)或定义('DRUPAL_ROOT',getcwd())