Drupal - 使用boostrap检查Drupal之外的登录用户是否正常工作

Ian*_*ber 5 php bootstrapping drupal

我把头发拉出来试图弄清楚这个.在Drupal目录之外我无法使Bootstrap正常工作.如果我在Drupal目录中运行此代码,它工作正常,但上一级不起作用.

我的Drupal路径是/ public_html/drupal /.我正在运行的脚本位于/ public_html中.

$ user未返回登录用户.我已经确定它不是跨域问题(即www.domain.com与domain.com).

chdir('/path/to/drupal');

include_once('./includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;

if ($user->uid) {
    print "Logged in";
} else {
   print "Logged out";
}
Run Code Online (Sandbox Code Playgroud)

Hen*_*pel 6

如果Drupal在您单独的脚本中无法识别用户,则很可能无法获得正确的会话cookie.您应该检查正常Drupal安装设置的cookie,看看它们是否也会发送到您的脚本.如果没有,请检查$cookie_domainDrupals settings.php中的变量 - 通常它已被注释掉,但您可能需要在您的情况下明确设置它.