2
我使用mod_proxy_fcgi和PHP-FPM運行Apache,並試圖讓它工作Symfony。這是使用Symfony和我剛開始的那一刻一點感覺我的第一個項目..Symfony 2.4的ProxyPassMatch規則
我的虛擬主機定義目前的樣子:
<VirtualHost *:80>
ServerName symfony.dev
Documentroot "/vagrant/symfony/web"
DirectoryIndex app.php
ProxyTimeout 600
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:5090/vagrant/symfony/web/$1
<Directory "/vagrant/symfony/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
當我去http://symfony.dev/app_dev.php/
,頁面加載,但所有鏈接/路徑包括完整的文件系統頁面。例如,「運行演示」的鏈接是http://symblog.dev/vagrant/symfony/web/app_dev.php/demo/
。
是否有不同的ProxyPassMatch規則可以工作,還是可以補償的Symfony配置?
我試圖^/(.*\.php)(/.*)?$
它得到app_dev.php/
加載,但隨後app_dev.php/demo/
似乎加載app_dev.php
,而不是演示,用碎路徑內聯資源。
你能解決嗎?我遇到同樣的問題 –
錯誤是PHP FPM的錯誤,其中$ _SERVER變量的通常集合未根據標準正確設置。解決方法是在構建HttpFoundation/Request之前自行設置這些變量。現在我並不完全確定需要設置哪些變量(SCRIPT_FILENAME和/或PATH_INFO),還是在Symfony項目中修改它們的最佳位置(在AppKernel.php中?)。 – user2045006