繁体   English   中英

TYPO3 Fluid:禁止在flashMessages中显示PHP警告

[英]TYPO3 Fluid: suppress PHP warnings in flashMessages

我正在建立一个基于TYPO3的网站,在这里我使用TER的不同扩展名。 现在,两个插件一起使用会产生不良结果:呈现的网站中的PHP警告。

一个扩展名是tt_products ,它通过访问某个数组中的未定义索引来引起消息。 另一个扩展名是tkaddress ,它显示消息。

tkaddress基于Fluid-Templates,并使用<f:flashMessages />视图帮助器显示适当的错误,例如在编辑地址记录时输入的无效电子邮件地址。 不幸的是,在此视图帮助器中还会捕获否则会忽略的PHP警告,该警告会给出类似

PHP警告:/usr/local/www/apache24/data/typo3conf/ext/tt_products/view/class.tx_ttproducts_info_view.php第301行中的字符串偏移'name'不合法

这仅在实时服务器中发生。 在我的本地开发环境中,我不会收到此类消息。 两个扩展的版本是相同的,我无法追溯到问题的根源。

(我知道,修复tt_products中的错误是正确的方法,但我不想对其进行修改)

在Fluid中使用<f:flashMessages />时是否有一些抑制PHP警告的设置?

更新:

开发环境:

  • TYPO3 6.1.5
  • PHP 5.3.28
  • tt_产品2.7.6
  • error_reporting(PHP INI):22519
  • 作业系统:Windows 7

生活环境:

  • TYPO3 6.1.5
  • PHP 5.4.40
  • tt_产品2.7.6
  • error_reporting(PHP INI):22519
  • 操作系统:FreeBSD

因此,仅OS和PHP版本有所不同。 我也找不到与PHP或TYPO3相关的错误报告设置的差异(两者都将displayErrors设置为1)

PHP版本似乎引起了您的开发环境和生产环境之间的所述差异。 我引用;

如何更正此非法字符串偏移?

但是,此警告消息是PHP 5.4的新增功能。 如果发生这种情况,旧版本没有警告。 他们会默默地将'type'转换为0,然后尝试获取字符串的字符0(第一个字符)。 因此,如果该代码可以正常工作,那是因为滥用这样的字符串不会对PHP 5.3及以下版本产生任何抱怨。 (许多旧的PHP代码在升级后都遇到了此问题。)

tt_products

似乎您正在使用tt_products版本2.7.6

从版本2.7.6有一些错误修复,包括文件class.tx_ttproducts_info_view.php一些代码更改,这些class.tx_ttproducts_info_view.php也可能会解决您的问题。

尝试更新tt_products到版本2.7.17 ,请参阅:

http://typo3.org/extensions/repository/view/tt_products

如果该扩展的最新版本仍然存在问题,则可以通过以下方式提交问题:

https://forge.typo3.org/projects/extension-tt_products

禁止警告

但是,忽略任何警告并不是您看待的正确方法:

TYPO3:如何抑制已过时的警告?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM