2012-02-24 3 views
6

저는 /,/login,/register 등과 같은 경로를 가지고 있습니다. dev 환경에서 잘 작동합니다. 그리고 내가 this advice을 따라 내 캐시를 정리 app_dev.phpsymfony 2 경로가 프로덕션에서 발견되지 않았습니다.

대신 app.php를 통해 내 사이트에 액세스하려고 할 때

는 처음에는 404 오류가 발생했습니다.

하지만 이제는 빈 화면이 app.php/또는 app.php/login과 같은 등록 된 경로에 액세스하려고합니다. AuthBundle에서

PtrackerTasksBundle: 
resource: "@PtrackerTasksBundle/Resources/config/routing.yml" 
prefix: /

PtrackerAuthBundle: 
resource: "@PtrackerAuthBundle/Resources/config/routing.yml" 
prefix: /

routing.yml :

homepage: 
pattern:/
defaults: { _controller: PtrackerAuthBundle:Default:index } 

register: 
pattern: /register 
defaults: { _controller: PtrackerAuthBundle:Default:register } 

login: 
pattern: /login 
defaults: { _controller: PtrackerAuthBundle:Default:login } 

activate: 
pattern: /activate/{username}/{salt} 
defaults: { _controller: PtrackerAuthBundle:Default:activate } 

login_check: 
pattern: /login_check 

routing.yml

다음
[2012-02-24 11:27:05] request.ERROR: Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET /login" (uncaught exception) at /home/renat/www/ptracker/app/cache/prod/classes.php line 4564 [] [] 

내 routing.yml입니다 :

나는 prod.log이 메시지를 발견 작업 내 번들 :

tasks: 
pattern: /tasks 
defaults: { _controller: PtrackerTasksBundle:Default:index } 

tasks_add: 
pattern: /tasks/add 
defaults: { _controller: PtrackerTasksBundle:Default:add } 

tasks_view: 
pattern: /tasks/view/{id} 
defaults: { _controller: PtrackerTasksBundle:Default:view, id : null } 

tasks_change_responsible: 
pattern: /tasks/change_responsible/{id}/{responsible} 
defaults: { _controller: PtrackerTasksBundle:Default:change_responsible, _format: json } 

tasks_change_status: 
pattern: /tasks/change_status/{id}/{status} 
defaults: { _controller: PtrackerTasksBundle:Default:change_status, _format: json }  

tasks_edit: 
pattern: /tasks/edit/{id} 
defaults: { _controller: PtrackerTasksBundle:Default:edit } 

무엇이 잘못되었거나 잘못 했습니까?

+1

'PHP 응용 프로그램/콘솔 라우터 기능 : 디버그 -e = prod' 출력을? – meze

+0

[RuntimeException] 캐시 디렉토리 (/ home/renat/www/ptracker/app/cache/prod)에 쓸 수 없습니다. 이제는 777 권한으로 작동합니다. – mennanov

답변

10

먼저 콘솔 루트 목록 (명령 router:debug)을 검토하십시오. 라우터를 찾은 경우 제 경우 캐시를 지우는 데 문제가 있습니다. 폴더 app/cache을 수동으로 삭제하면 제대로 작동합니다. 자극의 환경에

$kernel = new AppKernel('prod', true); 
+1

문제는 잘못된 폴더의 권한에있었습니다. 777로 설정하면 – mennanov

+0

두 번째 매개 변수는 활성화 된 디버그를위한 것입니다.이 경우 찌른 환경입니다. [디버깅을 활성화하고 캐싱을 비활성화하는 방법] (http://symfony.com/doc/current/cookbook/debugging.html) –

7

한번에 지우기 캐시 파일 app.php 변화, 캐시없이 PROD 환경을 설정하기 위해

.

php app/console cache:clear --env=prod --no-debug 
0
app/console cache:clear 

or 

active mod_rewrite in 

activate the directory: nano /etc/apache2/apache2.conf 

AllowOverride None 
<Directory "/var/www/html"> 
    AllowOverride None 
</Directory> 
for 
<Directory "/var/www/html"> 
    AllowOverride All 
</Directory> 

http://www.dev-metal.com/enable-mod_rewrite-ubuntu-14-04-lts/ 
관련 문제