0

我正在开发一个自定义模块,它将向 Views 模块描述一个外部表。在我的模块文件夹中,我有所需的 mymodule.views.inc 文件。然而,每当这个文件存在并且我的自定义模块被启用时,当我使用具有 Ajax 的站点功能时,Drupal 会不断地弹出 Ajax HTTP 错误(任何旋转的雏菊都会触发这个)。在显示 Ajax 错误之后,弹出窗口始终包含 mymodule.views.inc 中的模块代码。奇怪的是每次我加载首页时,mymodule.views.inc 中的 PHP 代码总是显示在首页的顶部。

我在 SO 和其他网站上经常看到这个问题,但大多数时候它可以追溯到更新的 jquery.js 文件或 php.ini 设置,这将使脚本有更多时间运行。到目前为止,这些修复都没有奏效。我现在可以让它消失的唯一方法是禁用我的自定义模块,或者将 mymodule.views.inc 重命名为其他名称。

这是消息外观的示例(不是逐字复制,因为我无法从 Chrome 中的这些警报消息中复制)。

An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: /?q=admin/structure/views/view/viewiamtryingtocreate/preview/page/ajax
StatusText: parseerror
ResponseText: /*
* header file to my mymodule.views.inc
* file I wrote
*/

//more php code follows

//lots of unicode characters intermittently show up in my source code
\u003C\/div\u003E\n...

//source code continues with lots of unicode characters, not sure what's at the bottom because the alert box is bigger than my screen and I can't scroll on it

还有人知道会发生什么吗?

4

2 回答 2

0

这个错误是由 drupalforfirebug 引起的,禁用 drupal for firebug 应该会有所帮助。否则这个补丁应该可以工作。

于 2013-02-05T14:19:41.413 回答
0

找到了。语法错误隐藏在 mymodule.views.inc 的顶部。在开始 PHP 标记之前有一些奇怪的格式。不知道为什么 php --syntax-check mymodule.php 没有捕捉到它(我将 mymodule.views.inc 复制到 mymodule.php 以便我可以在其上运行语法检查器)。

于 2013-02-05T19:41:28.127 回答