【问题标题】:PHP Fatal error: Call-time pass-by-reference has been removed in /Drupal Root DIR/modules/php/php.module(80) [closed]PHP致命错误:调用时传递引用已在/Drupal Root DIR/modules/php/php.module(80)中删除[关闭]
【发布时间】:2015-06-16 02:41:39
【问题描述】:

谁能提供Drupal网站出现以下错误的解决方案?

错误 - PHP 致命错误:调用时传递引用已在 /Drupal Root DIR/modules/php/php.module(80) 中删除:第 1199 行的 eval() 代码

【问题讨论】:

  • 不要投反对票,请提供编辑或至少评论你投反对票的原因。这不是那么糟糕的问题 tbh ;)

标签: php drupal pass-by-reference


【解决方案1】:

调用时传递引用已被删除

此错误发生在 PHP 5.4 之后,其中以以下方式通过引用调用参数:

myReferencedFunction(&$referencedParameter);

已停止工作。方法和函数必须已经声明为通过引用使用参数,如下所示:

function myReferencedFunction(&$parameter) {} // "&" goes here
myReferencedFunction($referencedParameter); // no "&"

因此,如果它是 Drupal 错误,那听起来就像您已将 PHP 版本从低于 5.4 的版本升级到 5.4+。您必须将 PHP 降级到 5.4 之前的版本或将您的 Drupal 更新为兼容的版本。

编辑:顺便说一句,eval() 的代码? php.module?你应该确保你没有安装任何rootkit。

【讨论】:

    【解决方案2】:

    因为错误出现在 PHP 模块的 eval() 中,所以错误出现在您的 content 中,其中包含 PHP 语法错误(由 yergo 解释)。如果您仍然可以编辑内容,则该错误很容易修复。

    如果您无法编辑内容,但仍可以访问模块管理页面,请禁用 PHP 模块。如果你不能,但你可以通过 shell 访问你的服务器,你可以使用Drush$drush pm-disable php。如果你没有 shell 访问权限,你可以disable the module manually in the DB

    停止使用 PHP 模块可能是个好主意,请参阅the issue that lead to its removal from Drupal 8 了解原因。

    【讨论】:

      猜你喜欢
      • 2013-11-17
      • 2017-01-29
      • 1970-01-01
      • 2012-11-13
      • 2010-11-06
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多