2013-10-03 3 views
2

CHH heroku-buildpack-php를 사용하여 Heroku에 Symfony2 앱을 배포했습니다.
1) PHP 응용 프로그램/콘솔 캐시 : : 투명 --env = 자극
2)의 PHP 응용 프로그램/콘솔 자산 :Symfony2 프로덕션에서/web/bundles 아래에있는 자산이 없습니다.

는 Heroku가에 코드를 누른 후, 나는에 'Heroku가 실행 강타'를 사용 --symlink 설치
3) PHP 응용 프로그램/콘솔 assetic = 자극

가 어쨌든, 웹/번들/... 제공되지 않습니다 /에 자산을 쏟아 --env 덤프 그들이 내 말은 (찾을 수 없음 404을 보여, 각 자산 별도로 찾을 수 없습니다). 그러나 예를 들어, /web/favicon.ico가 클라이언트에 제대로 제공됩니다.

이것은 내 로컬 호스트의 dev 모드에서 발생하지 않습니다.

서버의 권한 문제 일 수 있습니까? Procfile에서 이러한 명령을 실행해야합니까?

미리 감사드립니다.

답변

2

마지막으로 대답은 입니다. Heroku는 배포 프로세스가 완료되면 파일 시스템을 수정할 수 없으므로 프로필 파일을 사용하여 Heroku가이 명령을 실행하는 install.sh를 실행하도록 알려줍니다.

Procfile은 다음과 같습니다

web: sh ./install.sh 

그리고 install.sh : 그것은 배포 프로세스 procceed하는 Heroku가 지시로

php app/console cache:clear --env=prod 
    php app/console assets:install --env=prod 
    php app/console assetic:dump --env=prod 
    php app/console doctrine:schema:update --force 
    php app/console doctrine:fixtures:load --append 
    sh ./bin/run 

마지막 라인은 매우 중요합니다.