我正在尝试从不属于Drupal或Drupal Module的外部PHP脚本中获取用户名变量。
对于Drupal 7,有drupal_bootstrap来加载所需的Drupal依赖项。然而,经过长时间的搜索后,我发现Drupal 8是一个注释,drupal_bootstrap因Drupal 8而被弃用。
事实上,我得到了一个
Call to undefined function drupal_bootstrap()
当我在
中包含后尝试调用它时<?php
define('DRUPAL_ROOT', '/var/www/html/drupal7'); // Define the DRUPAL_ROOT constant which is used in many places.
$base_url = 'http://'.$_SERVER['HTTP_HOST'].'/drupal7'; // Again, this is used in many places.
require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; // Include the boostrap file.
drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION); // Start things up to whatever level you need.
global $user;
echo $user->name;
那么如何从外部脚本中使用Drupal 8 API?!
在另一个论坛上发布这个,我得到了这个代码,但它不起作用,所以我想知道出了什么问题。我知道有些东西丢失了,但我不知道如何回显当前登录用户的名字:
<?php
define('DRUPAL_DIR', __DIR__ .'/../../drupal');
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once DRUPAL_DIR . '/autoload.php';
$request = Request::createFromGlobals();
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod');
$kernel->boot();
require_once DRUPAL_DIR . '/core/includes/database.inc';
require_once DRUPAL_DIR . '/core/includes/schema.inc';
?>
提前致谢