Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 &引用;哎呀,发生了一个错误!代码:201601301501048.“;第37.6节_Typo3_Typo3 7.x - Fatal编程技术网

Typo3 &引用;哎呀,发生了一个错误!代码:201601301501048.“;第37.6节

Typo3 &引用;哎呀,发生了一个错误!代码:201601301501048.“;第37.6节,typo3,typo3-7.x,Typo3,Typo3 7.x,我安装了TYPO3 7.6版,在将扩展添加到我的页面后,出现了以下错误: “哦,发生错误!代码:201512031647523f4d731f” 我没有得到这个错误的意义,我也在本地配置中启用了'displayErrors'=>1,但仍然没有得到有意义的错误 您需要关闭“内容对象异常处理程序”,这是新版本中的异常处理程序。如果一个内容元素/插件抛出一个异常,它将不再关闭整个站点,而只关闭它自己。要禁用它,请设置 config.contentObjectExceptionHandler = 0

我安装了TYPO3 7.6版,在将扩展添加到我的页面后,出现了以下错误:

“哦,发生错误!代码:201512031647523f4d731f”

我没有得到这个错误的意义,我也在本地配置中启用了
'displayErrors'=>1
,但仍然没有得到有意义的错误


您需要关闭“内容对象异常处理程序”,这是新版本中的异常处理程序。如果一个内容元素/插件抛出一个异常,它将不再关闭整个站点,而只关闭它自己。要禁用它,请设置

config.contentObjectExceptionHandler = 0

不要忘记在上线时重新启用异常处理程序,在上线的系统中,您可以在日志文件中找到异常跟踪。基本上是维克托·利瓦基夫斯基在另一个答案中所说的。

基本上是日期+散列,这使得每个这样的错误都是唯一的

对于开发环境,您可以按照@Jost的建议将其关闭

但是对于生产来说,这对于来说是至关重要的,让它打开,这样,如果您的一些插件或TS LIB出现故障,它将不会中断完整的输出,并在没有任何信息的情况下显示“Oops a error accurrent”(发生了错误),但是消息,您现在可以通过代码看到

网站的真正用户可以向您报告此代码,您可以在TYPO3错误日志中搜索此代码,默认情况下,该日志位于
typo3temp/logs/
下,除非您对其进行了不同的配置

因此,此功能确实可以轻松地查找用户生成的错误。

您可以打开文件。/typo3/sysext/frontend/Classes/ContentObject/Exception/ProductionExceptionHandler.php

搜索字符串Oops,出现错误。 直接在函数声明后添加调试行

    /**
 * Handles exceptions thrown during rendering of content objects
 * The handler can decide whether to re-throw the exception or
 * return a nice error message for production context.
 *
 * @param \Exception $exception
 * @param AbstractContentObject $contentObject
 * @param array $contentObjectConfiguration
 * @return string
 * @throws \Exception
 */
public function handle(\Exception $exception, AbstractContentObject $contentObject = null, $contentObjectConfiguration = array())
{
debug ($exception, 'handle $exception');
然后使用调试扩展,例如fh\u debug。 这将为您提供这样的输出。它向您显示导致此错误的调用的回溯。回溯以两种格式显示。您可以在回溯位置之前的位置添加更多调试行,以便获得有关错误的更多信息

index.php34call\u user\u funcindex.php33runApplication.php78handleRequestBootstrap.php302handleRequestRequestHandler.php232intincscriptyptoscriptfrontendcontroller.php3478递归替换占位符sincontentyproscriptfrontendcontroller.php3512 inticscript\u processyproscriptfrontendcontroller.php3564cObjGetSingleContentObjectRenderer.php859renderContentObjectRenderer.php943renderContentObjectArrayContentObject.php41cObjGetContentObjectRenderer.php805cObjGetSingleContentObjectRenderer.php859renderContentObjectRenderer.php953handleProductionExceptionHandler.php53debug
对象类型3\CMS\Core\Error\ExceptionmessagePHP可捕获致命错误:参数1传递给TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::render()必须是TYPO3\CMS\Frontend\ContentObject\AbstractContentObject的实例,给定null,在第1359行的/home/myuser/public_html/neu/typo3_src-7.6.10/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php中调用,并在/home/myuser/public_html/neu/typo3_src-7.6.10/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php第927行中定义 代码整数1 file/home/myuser/public_html/neu/typo3_src-7.6.10/typo3/sysext/core/Classes/Error/ErrorHandler.php 线性整数111
handle$exception
不要在生产环境中泄露调试信息,而且,看在上帝的份上,不要弄乱核心代码。@j4k3:你的评论没有任何意义。调试信息的输出由安装工具的调试设置控制。别再叫我的代码一团糟了!首先我没有。第二,我为什么不呢。第三,为什么这么慷慨地提供调试信息会如此难以理解?代码的内部内容通常是您不希望可能的攻击者知道的。第四点。不。混乱具有这个是的,当然你可以自由开发一个TYPO3扩展,它也可以做类似的事情。这是一个快速的解决方案。甚至可能出现这样的情况:客户是唯一能够提供调试信息的人。我的示例中给出了所有调试信息。当然,在发现异常原因后,应立即将其从TYPO3 Core中移除。可以通过在安装工具中设置DeviceTask轻松禁用它。Whatafa!为什么它不是LocalConfiguration.php中的调试设置?对于这类事情,我和TYPO3有着爱/恨的关系。好的,我是hangry,所以现在我要吃点东西..在生产环境中,您不应该启用调试输出,在大多数情况下,这是不必要的-您将在日志中显示错误消息和堆栈跟踪。因此,只能按照这里在开发系统(参见日志框架)上描述的方式进行操作,而在较新的非编写器TYPO3系统上的其他答案默认情况下是typo3temp/var/logs。在基于Composer的系统上,日志消息在其他地方变为。。。