簡體   English   中英

重建VM后,apache2中的Symfony2 URL 404

[英]Symfony2 URLs 404 in apache2 after rebuild of VM

我們有以下系統:

  • Symfony 2
  • 在Ubuntu LTS 12.04上運行
  • 由apache2 2.2.22提供服務
  • Jenkins每天至少建立一次項目
  • Vagrant和Puppet用於每次從頭開始創建運行時環境

問題:突然間Symfony URL不再提供了。

雖然curl localhost:8081/app_dev.php工作就像一個魅力(當然它會產生從Symfony的錯誤信息,但它 Symfony的那個回答),所有真正的symfony網址停止工作:

vagrant@precise64:~$ curl localhost:8081/app_dev.php/_test/data/class/clean
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /app_dev.php/_test/data/class/clean was not found on this server.</p>
<hr>
<address>Apache/2.2.22 (Ubuntu) Server at localhost Port 8081</address>
</body></html>

通常,Apache應該將該URL提供給app_dev.php並完成它; app.php網址的行為方式完全相同。

Apache config,vhosts和.htaccess沒有在工作和失敗的運行之間進行更改。 Symfony路由也沒有改變。

什么可能出錯?

出於某種原因,在puppet配置期間安裝了libapache2-mod-php5filter而不是libapache2-mod-php 我們沒有在我們的清單中明確聲明應該安裝libapache2-mod-php5 ,而是安裝為php5依賴項。

基本上libapache2-mod-php5filterlibapache2-mod-php5是相同的模塊,只是它支持過濾器:

 Unless you specifically need filter-module support, you most likely
 should instead install libapache2-mod-php5.

這兩個包是互斥的(至少在debian / ubuntu中)

我不確定如何安裝該軟件包而不是libapache2-mod-php5 ,但是安裝libapache2-mod-php5解決了這個問題(因為它自動卸載了libapache2-mod-php5filter )。

我們將該軟件包安裝到我們的puppet文件中,問題就消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM