簡體   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