2014-03-19 2 views
2

L4를 사용중인 프로젝트에서이 "이상한"오류가 발생했습니다. 경로에 전화 후Laravel 4 : 컨트롤러가 작동하지 않고 HomeController 만

public function Hi() 
{ 
echo 'simple test'; 
} 

을 그리고 : 나는이 (가) HomeController.php에 다음과 같은 경우

그래서,

Route::get('hi', array('as' => 'hi', 'uses' => '[email protected]')); 

그것은 잘 작동합니다. 내가 MemberController.php라는 컨트롤러 폴더에 새로운 컨트롤러를 생성하고 동일한 Hi() 기능을 수행하는 경우

그러나, 나는 그것을 호출하려고하면

Route::get('hi', array('as' => 'hi', 'uses' => '[email protected]')); 

그것은 반환 ...

BadMethodCallException 
Method [Hi] does not exist. 

나는 이것이 무엇이 잘못되었는지 정말로 모른다. L4와 함께 다른 프로젝트에서 많은 컨트롤러를 사용하기 전에 작업 해본 적이 있습니다.

이 서버는 아파치가 아니라 Nginx에서 실행되기 때문에 htaccess가 없지만 이것이 어떤 차이점이 있다고 생각하지는 않습니다. L4가 마지막 버전으로 업데이트됩니다. 이견있는 사람?

+0

당신은 유닉스 또는 윈도우를 사용하고 있습니까? –

+0

Nginx @ Ubuntu 실행. – user2840318

+0

우분투는 Ubuntu @ –

답변

-1

리눅스의 경우 \ etc \ hosts를 열면이 줄이 표시됩니다.

yourserverip yourlaravel.com 

가상 호스트가 httpd.conf에 설정되지 않았다고 생각합니다. 이 밖으로 시도하고 작동 여부 볼 수 있습니다 를 리눅스

나는 내 문제에 대한 해결책을 발견
NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerName yourlaravel.com 
    DocumentRoot "/var/www/laravel/public" 
    <Directory "/var/www/laravel/public"> 
</Directory> 

<VirtualHost *:80> 
    ServerName localhost 
    DocumentRoot "/var/www" 
    <Directory "/var/www"> 
    </Directory> 
</VirtualHost> 
+0

이것이 문제라면 다른 컨트롤러가 왜 작동할까요? –

+0

VirtualHost는 NGINX 용으로 Apache 2 용입니다. –

+0

아파치는 .htaccess 파일을 읽지 않고 있습니다. –

0

를 들어,이 파일 사용 권한에 관계가 있었다.

SSH를 통해 Laravel을 설치하면 HomeController.php을 포함하여 전체 쓰기/읽기 권한을가집니다. 그 후 다른 사용자가 laravel 설치에만 액세스 할 수있게 만들면 해당 사용자가 작성한 파일을 컨트롤러 폴더에서 제대로 읽지 못하게하는 권한이 필요하지 않게되었습니다.

나는 이것이 거의 설명이 아닌 것으로 간주한다. 나는 리눅스에 대한 전문 지식이 충분하지 않기 때문에 아무 것도 말하지 않을 것이 틀림 없다. - 일단 사용자에게 권한을 주면 작업을 시작했다.

관련 문제