我剛剛將一個站點移動到運行PHP 5.4.x的新服務器,只能假設是爲什麼即時通訊編譯模板但是當編譯的tpl.php文件生成的時候,無法解決問題是什麼以及想知道是否有人可能知道?警告:非法字符串偏移'category_id' - PHP 5.4 - 聰明到PHP編譯
的TPL是Smarty的和下面是導致錯誤的行:
原始TPL文件的代碼:(smarty的)
{assign var=darin value=$category.category_id}
編譯錯誤文件中:(從smarty的編譯到PHP緩存的文件)
<?php $this->assign('darin', $this->_tpl_vars['category']['category_id'], false); ?>
由於其編譯轉換我不知道如何修復smarty函數,因此它編譯正確的PHP代碼,這是在緩存中編譯,這是導致問題...任何想法?正被顯示在前端的編譯文件
錯誤:事先
Warning: Illegal string offset 'category_id' in /websites/am/domain.com.au/var/cache/templates/customer/%%F3^F39^F3960A5D%%view.override.tpl.php on line 42
謝謝, 詹姆斯
因此,您正在設置一個Smarty變量並希望將該值返回到您的PHP控制器中? Smarty 3我認爲? – Machavity
在5.3上正常工作,但5.4似乎不行。只有注意到剛剛遷移到運行5.4的新雲託管服務,但它只是抓取類別標識(例如「10」)並將其分配給變量darin。 smarty im的版本不能確定我的頭頂。 –