2012-08-07 20 views
7

Hoy creo mi primer proyecto con Zend Framework pero cuando trato de conectarme a mi proyecto solo veo "500 Internal Server Error". Añado algunas nuevas filas en el archivo httpd.conf:Zend Framework - 500 Error interno del servidor

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> 

y que es mi archivo .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 

leí más temas para este problema, pero por ahora problema no se resuelve.

Esa es mi archivo error.log (del servidor):

[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

¿Qué dice el archivo de error.log de tu servidor? Casi siempre ayuda. – FloydThreepwood

+0

En su archivo php.ini agregue las siguientes líneas: error_reporting = E_ALL; display_errors = 1. Debería decirle el error en lugar de darle un Error interno del servidor. Asegúrese de reiniciar su servidor para que los cambios surtan efecto. – Johnnyoh

Respuesta

16

Gracias por publicar el registro de errores.

Por lo que parece, no tiene mod_rewrite cargado.

buscar el archivo httpd.conf y localice la línea:

#LoadModule rewrite_module modules/mod_rewrite.so 

quite el signo de # desde el principio de la línea.

A continuación, añadir una nueva sección para httpd.conf que tiene este aspecto:

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

El AllowOverride directiva es importante. De forma predeterminada, los archivos .htaccess no se procesan a menos que se permitan. Esta línea permite los archivos .htaccess en ese directorio nombrado.

Después de hacer esos cambios, reinicie Apache y luego intente cargar su página ZF nuevamente.

+0

Muchas gracias Empiezo mi página ¡Bienvenido a Zend Framework! Esta es la página principal de su proyecto. –

+0

Suena como que se encargó de eso, para asegurarse de que .htaccess funciona, vea si puede acceder a 'yoursite.com/index/index' para asegurarse de que enruta con éxito los nombres de controlador y acción al controlador frontal. Si eso funciona, entonces las reglas de reescritura están configuradas correctamente. – drew010

+0

Sí, my_ip/index/index work –

3

En primer lugar, una mejor depuración. Agregue

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

a su servidor virtual. Reinicie Apache y vuelva a cargar su página. Los archivos se crearán en la ruta especificada. Habrá un mensaje de error exacto que te ayudará a depurar aún más.

0

Acabo de tener exactamente el mismo problema y la solución de drew010 realmente lo solucionó!

Sin embargo, parece que la estructura de configuración de Apache cambia, por lo que el método para que el módulo que falta es un poco diferente:

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

Esto confirma que tiene la materia derecha pasando:

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

Salud!

Cuestiones relacionadas