2014-02-12 1 views
2

mod_proxy_fcgi와 PHP-FPM을 사용하여 Apache를 실행 중이고 Symfony를 작동 시키려고합니다. 내가 http://symfony.dev/app_dev.php/로 이동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://symblog.dev/vagrant/symfony/web/app_dev.php/demo/입니다.

작동 할 수있는 다른 ProxyPassMatch 규칙이나 보상 할 수있는 Symfony 구성이 있습니까?

나는로드 app_dev.php/를 얻을 수 ^/(.*\.php)(/.*)?$을 시도,하지만 app_dev.php/demo/ 자원 인라인 깨진 경로로, app_dev.php 아니라 데모를로드하는 것 같다.

+0

해결할 수 있었습니까? –

+0

동일한 문제가 발생했습니다. $ _SERVER 변수의 일반적인 세트가 표준에 따라 올바르게 설정되지 않은 PHP FPM이 오류입니다. 해결 방법은 HttpFoundation/Request가 생성되기 전에 이러한 변수를 직접 설정하는 것입니다. 지금은 어떤 변수를 설정해야하는지 (SCRIPT_FILENAME 및/또는 PATH_INFO) 또는 Symfony 프로젝트 (AppKernel.php의 경우)에서 수정할 수있는 가장 확실한 곳이 아닌지 잘 모르겠습니다. – user2045006

답변

0

ProxyPassMatch와 동일한 문제가 있었지만 SetHandler를 사용하면 문제가 없었습니다.

<VirtualHost *:80> 
    ServerName project.dev 
    ServerAlias www.project.dev 


    <FilesMatch \.php$> 
     SetHandler proxy:fcgi://127.0.0.1:9000 
    </FilesMatch> 

    #ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/project/web/$1 

    ## Vhost docroot 
    DocumentRoot "/var/www/project/web" 

    ## Directories, there should at least be a declaration for /var/www/awesome 
    <Directory "/var/www/project/web"> 
     AllowOverride All 
     Order allow,deny 
     Allow from All 
    </Directory> 

    ## Load additional static includes 

    ## Logging 
    ErrorLog "/var/www/project/app/logs/apache2/error.log" 
    ServerSignature Off 
    CustomLog "/var/www/project/app/logs/apache2/access.log" combined 

    ## SetEnv/SetEnvIf for environment variables 
    SetEnv APP_ENV dev 

    ## Custom fragment 
</VirtualHost>