我有一个从命令行调用的PHP脚本。它接入了Drupal:
$_SERVER["REMOTE_ADDR"] = "127.0.0.1";
$_SERVER["SERVER_SOFTWARE"] = "Dummy";
$_SERVER["REQUEST_METHOD"] = "";
define('DRUPAL_ROOT', getcwd());
require_once('./includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
在drupal_bootstrap()行之后,echo不会输出任何内容。一些Drupal版本之前它做到了。另外,如果我使用passthru()运行命令行程序,它也不会输出任何内容。就好像stdout / stderr句柄已被关闭或重定向一样。
知道是否确实如此,如果它是Drupal中的一个设置我可以回头吗?
答案 0 :(得分:0)
根据您的脚本执行的操作,您可以利用scripts/drupal.sh
模拟对Drupal的http请求(这样您自定义代码可能会存在于菜单挂钩中)或(更好)移植自定义代码,因此可以通过drush执行。