使用 PHP 时显示垃圾内容的表达式引擎
Expression engine showing garbage content while using PHP
当我使用 php 时,Expressionengine 显示垃圾值 Json 对其显示此内容进行编码 {!-- ra:0000000019930c5000007efd6bf7e0f5 --}
这是我的代码:-
<?php
$entries = array();
{exp:channel:entries channel="sport" category="3536|1830|4102" site="default_site" limit="3" track_views="one" dynamic="no" status="open|featured" disable="categories|category_fields|pagination|member_data" terminate="yes"}
$entries[] = array('title' => '{title}');
{/exp:channel:entries}
header('Content-type: application/json');
echo json_encode($entries);
exit;
?>
是啊!终于我得到了答案,它是如此简单,这就是解决方案:-
转到 ExpressionEngine\system\EllisLab\ExpressionEngine\Library\Template\Annotation\Runtime。php
在线号。 65评论代码return '{!-- ra:'.$key.' --}';
更简单 - 删除 exit()
.
正如 this answer 所解释的那样,这些是用于调试的注释标记(我想您可以获得嵌套模板的堆栈跟踪)并且它们在过程的后期被解析出来。所以如果你退出()它不起作用。只要确保脚本以没有不需要的输出结束,你就可以了。我遇到了这个问题(在 EEv5 中),这是解决方法。
在将旧的 EE 2.9.3 站点移动到开发服务器并应用测试域名时,我刚刚出现了相同样式的错误代码。
模板中有一些 PHP 包含,它们引用了实时站点的服务器路径。当我更改这些时...都修复了。
例如:
包括("/home/sites/domainname.co.uk/public_html/swift/swift_required.php");
...改为...
包括("/home/domain/public_html/swift/swift_required.php");
如果您在页面上看到这种垃圾值,则表示该页面有错误。
我们主要在启用 PHP 的模板上找到这个垃圾值。因此,如果我们解决 PHP 错误,垃圾就会消失。
不要修改 ExpressionEngine 核心文件。如果您想在页面上看到 PHP 错误,请打开调试模式。
如果您删除 exit()
函数,您将获得所需的输出。
exit()
函数还会退出 ExpressionEngine 代码的执行,这就是您获取垃圾值的原因。
当我使用 php 时,Expressionengine 显示垃圾值 Json 对其显示此内容进行编码 {!-- ra:0000000019930c5000007efd6bf7e0f5 --}
这是我的代码:-
<?php
$entries = array();
{exp:channel:entries channel="sport" category="3536|1830|4102" site="default_site" limit="3" track_views="one" dynamic="no" status="open|featured" disable="categories|category_fields|pagination|member_data" terminate="yes"}
$entries[] = array('title' => '{title}');
{/exp:channel:entries}
header('Content-type: application/json');
echo json_encode($entries);
exit;
?>
是啊!终于我得到了答案,它是如此简单,这就是解决方案:-
转到 ExpressionEngine\system\EllisLab\ExpressionEngine\Library\Template\Annotation\Runtime。php
在线号。 65评论代码return '{!-- ra:'.$key.' --}';
更简单 - 删除 exit()
.
正如 this answer 所解释的那样,这些是用于调试的注释标记(我想您可以获得嵌套模板的堆栈跟踪)并且它们在过程的后期被解析出来。所以如果你退出()它不起作用。只要确保脚本以没有不需要的输出结束,你就可以了。我遇到了这个问题(在 EEv5 中),这是解决方法。
在将旧的 EE 2.9.3 站点移动到开发服务器并应用测试域名时,我刚刚出现了相同样式的错误代码。
模板中有一些 PHP 包含,它们引用了实时站点的服务器路径。当我更改这些时...都修复了。
例如:
包括("/home/sites/domainname.co.uk/public_html/swift/swift_required.php");
...改为...
包括("/home/domain/public_html/swift/swift_required.php");
如果您在页面上看到这种垃圾值,则表示该页面有错误。 我们主要在启用 PHP 的模板上找到这个垃圾值。因此,如果我们解决 PHP 错误,垃圾就会消失。 不要修改 ExpressionEngine 核心文件。如果您想在页面上看到 PHP 错误,请打开调试模式。
如果您删除 exit()
函数,您将获得所需的输出。
exit()
函数还会退出 ExpressionEngine 代码的执行,这就是您获取垃圾值的原因。