2013-03-01 88 views
0

我已配置Amazon EC2服務器並安裝PHP and MySQL。我已經上傳了我的網站。它在smarty亞馬遜EC2服務器顯示錯誤

問題是當我更新任何.tpl文件時,服務器返回white page作爲Firefox和Chrome的輸出返回500 Internal Server Error。我在互聯網上到處衝浪,但一無所獲。

當我更新任何.php文件時,代碼很好地工作。問題僅在於.tpl文件。

+0

讓我知道,如果我的回答可以幫助你。 – 2013-03-03 09:53:11

回答

1

我敢打賭,您的templates_c目錄不能被Apache(可識別爲apache或httpd,並且可以檢查您的httpd.conf文件)寫入,或者在Smarty初始化期間未正確配置。

您可以嘗試暫時將templates_c目錄設置爲777權限以測試此假設。

如果這最終既然如此,那麼你要分配templates_c到Apache的組所有權,並設置文件夾的權限,以775(They explain this in their documentation.

+0

是的,你的猜測是正確的,我已經做到了。謝謝 – 2013-03-03 10:00:07

+0

非常好!很高興聽到你有它運行。 – 2013-03-03 10:10:51

+0

耶,它的運行良好:) – 2013-03-03 10:11:42

0

HTTP狀態爲500,沒有頁面內容(Chrome只是很好,併爲您呈現默認錯誤消息)意味着PHP遇到致命錯誤。

您將需要找出PHP配置記錄到的位置(通常是一個名爲php_errors.log的文件)並查看錯誤是什麼。

或者,您可以暫時使用允許PHP使用error_reporting設置向屏幕輸出錯誤。

+0

沒有錯誤日誌文件... – 2013-03-01 13:47:40

+1

/var/log/httpd/error_log也想一想,如果smarty正在使用模板緩存,則可能需要在更新模板後重新啓動httpd,它可能需要重新啓動以重建模板緩存。 – Dave 2013-03-01 14:17:27

+1

@Dave除非Smarty以某種方式緩存在內存中,否則重新啓動Web服務器進程將沒有任何區別;如果你想清除磁盤緩存,只需刪除其中的文件 – IMSoP 2013-03-01 22:13:16