我们有以下系统:
问题:突然间Symfony网址不再提供了。
虽然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路由也没有改变。
可能出了什么问题?
答案 0 :(得分:3)
由于某些原因,在木偶配置期间安装了libapache2-mod-php5filter
而不是libapache2-mod-php
。我们没有在清单中明确声明应该安装libapache2-mod-php5
,而是将其安装为php5
的依赖项。
基本上libapache2-mod-php5filter
与libapache2-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文件中,问题就消失了。