2012-08-07 3 views
7

오늘 젠드 프레임 워크를 사용하여 첫 번째 프로젝트를 만들었지 만 프로젝트에 연결하려고하면 "500 내부 서버 오류"만 표시됩니다. 나는 httpd.conf 파일에 새로운 행을 추가 :젠드 프레임 워크 - 500 내부 서버 오류

NameVirtualHost *:80 
<VirtualHost *:80> 
DocumentRoot C:\AppServ\www\data1\public 
ServerName my_ip 
</VirtualHost> 

NameVirtualHost *:80 
<VirtualHost *:80> 
DocumentRoot C:\AppServ\www\data1\public 
ServerName http://my_ip 
</VirtualHost> 

을 그리고 내 htaccess로 파일입니다

RewriteEngine On 
#RewriteBase data1/public/ 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|html|pps)$ index.php [NC,L] 

order allow,deny 
allow from all 

나는이 문제에 대한 더 많은 내용을 읽을 수는 있지만 지금은 문제가 해결되지 않습니다. 모든

[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/AppServ\\php5  \\ext\\php_exif.dll' - \xd3\xea\xe0\xe7\xe0\xed\xe0\xf2\xe0 \xef\xf0\xee\xf6\xe5\xe4 \xf3\xf0\xe0 \xed\xe5 \xe5 \xed\xe0\xec\xe5\xf0\xe5\xed\xe0.\r\n in Unknown on line 0 
[Wed Aug 08 01:46:02 2012] [notice] Apache/2.2.8 (Win32) PHP/5.2.6 configured -- resuming normal operations 
[Wed Aug 08 01:46:02 2012] [notice] Server built: Jan 18 2008 00:37:19 
[Wed Aug 08 01:46:02 2012] [notice] Parent: Created child process 2392 
[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/AppServ\\php5\\ext\\php_exif.dll' - \xd3\xea\xe0\xe7\xe0\xed\xe0\xf2\xe0 \xef\xf0\xee\xf6\xe5\xe4\xf3\xf0\xe0 \xed\xe5 \xe5 \xed\xe0\xec\xe5\xf0\xe5\xed\xe0.\r\n in Unknown on line 0 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Child process is running 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Acquired the start mutex. 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Starting 64 worker threads. 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Starting thread to listen on port 80. 
[Wed Aug 08 01:46:15 2012] [alert] [client 46.40.124.225] C:/AppServ/www/data1/public/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration 
+0

서버 error.log 파일의 내용은 무엇입니까? 거의 항상 도움이됩니다. – FloydThreepwood

+0

php.ini 파일에 다음 줄을 추가하십시오 : error_reporting = E_ALL; display_errors = 1. 내부 서버 오류를 제공하는 대신 오류를 알려야합니다. 변경 사항을 적용하려면 서버를 다시 시작하십시오. – Johnnyoh

답변

16

오류 로그를 게시 해 주셔서 감사합니다.

모양에서 보면 mod_rewrite이로드되지 않았습니다.

httpd.conf 파일을 찾아 줄 찾습니다

#LoadModule rewrite_module modules/mod_rewrite.so 

이 라인의 처음부터 # 기호를 제거합니다.

다음, 다음과 같습니다 httpd.conf에 새 섹션을 추가 :

<Directory "C:/AppServ/www/data1/public"> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 

AllowOverride 지시어는 중요하다. 기본적으로 .htaccess 파일은 허용되지 않는 한 처리되지 않습니다. 이 행은 해당 디렉토리에 .htaccess 개의 파일을 허용합니다.

변경 한 후 Apache를 다시 시작한 다음 ZF 페이지를 다시로드하십시오.

+0

고맙습니다. 제 페이지를 시작합니다. Zend Framework에 오신 것을 환영합니다! 이것은 프로젝트의 기본 페이지입니다. –

+0

.htaccess가 작동하는지 확인하기 위해 그 소리와 같은 소리가 들렸습니다.'yoursite에 액세스 할 수 있는지 확인하십시오.com/index/index' 명령을 사용하여 컨트롤러 및 작업 이름을 전면 컨트롤러로 성공적으로 라우팅했는지 확인하십시오. 작동하면 다시 쓰기 규칙이 모두 올바르게 설정됩니다. – drew010

+0

예, my_ip/index/index 작업 –

3

첫째, 더 나은 디버깅 (서버) 내하는 error.log 파일입니다

.

ErrorLog "PATH_TO/zfapp-error_log" 
    CustomLog "PATH_TP/zfapp-access_log" combined 

을 가상 호스트에 추가하십시오. 아파치를 다시 시작하고 페이지를 새로 고침하십시오. 파일은 지정된 경로에 생성됩니다. 더 이상 디버깅하는 데 도움이되는 정확한 오류 메시지가 표시됩니다.

0

나는 정확히 똑같은 문제가 있었으며 drew010의 해결책은 그것을 실제로 고쳤습니다!

는 그러나, 아파치 설정 구조가 변경 것 같다, 그래서 누락 된 모듈을 활성화하는 방법은 약간 다릅니다 :

$ cd /etc/apache2/mods-enabled 
$ cat ./rewrite.load 
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so 

건배 :이 확인

$ cd /etc/apache2/mods-enabled 
$ sudo ln -s ../mods-available/rewrite.load ./rewrite.load 

당신이 바로 물건 가고있다!