2014-09-30 51 views
0

我在部署Symfony2應用程序時遇到問題。我只能通過ftp訪問服務器,沒有命令行。 我設置經由umask的權限:Symfony2部署 - 產品中的空白頁面

umask(0000); 

我已經改變應用程序/緩存,應用程序/日誌,網絡/ myUploadFolder爲 「777 -R」 的權限。

,我不能管理的問題是:

  1. 我不能上傳文件。本地主機上的一切都正常,但在生產服務器中創建包含文件的實體已停止。沒有錯誤,沒有例外,沒有日誌出現,只有空白頁。
  2. 我越來越空白頁過,當我在app.php或app_dev.php調試設置爲true:

    $內核=新AppKernel( '刺',真);

因此,調試是如此艱難,我認爲問題是在權限......任何想法?提前致謝。


編輯: 我已經成功地進入調試模式,答案是以下: answer

我認爲,在調試模式和空白頁空白頁中上傳文件有同樣的原因,但可能這不是事實。我在這裏創建了更多細節的分離問題: request blank page problem

回答

0

$kernel = new AppKernel('prod', true) < =>使用調試模塊查看錯誤的prod環境,但您無權訪問分析器以查看日誌。 要查看日誌,你必須保持這一行app_dev.php前端控制器:

$kernel = new AppKernel('dev', true); 

,然後訪問您的網站是這樣的:

yourvirtualhost/app_dev.php/

(例如:site.local/app_dev.php /)

+0

感謝您的回覆。但是,正如我所提到的那樣設置這個空白頁面。如果我的問題不夠清楚,我很抱歉。 – rKow 2014-09-30 14:51:49

+0

,如果你在你的app_dev.php前端控制器中評論'umask(0000);'? – DOZ 2014-09-30 14:54:10

+0

是的,一樣的。只有將debug設置爲false纔會導致呈現頁面... – rKow 2014-09-30 19:44:09

1

如果您使用的是以上版本的symfony 2.2,只需將 $ kernel = new AppKernel('prod',true);是不足夠的。把它放在它的上面,以正確​​顯示任何PHP錯誤(最可能的原因是空白頁)。 \ Symfony \ Component \ Debug \ Debug :: enable(1);

我遇到的還有一件事是它仍然沒有顯示函數參數不匹配錯誤。要處理相同的問題,請在ErrorHandler.php,handleFatal()方法中執行symfony代碼的臨時更改,並在檢查$ type的行中包含E_RECOVERABLE_ERROR。 這至少會在頁面上顯示錯誤。

1

好的,我花了很多時間去了解發生了什麼。調試的問題在我的。htaac​​ess:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^domena$ [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.domena$ 
RewriteCond %{REQUEST_URI} !web/ 
RewriteRule (.*) /web/$1 [L] 

大多數網站的放棄這種解決方案改變你的DocumentRoot,但這項事業我一個問題,所以我已刪除此行並試圖訪問與「網絡」的前綴app_dev.php:DOMENA /網絡/app_dev.php,一切正常。

如果你想你的DocumentRoot寫更改爲管理員,以在虛擬主機配置變化,只是加入這一行:

DocumentRoot /path/to/domain/web 

也看在問題的編輯區。