2010-02-23 18 views
11

Todo iba bien hasta que agregué AddHandler application/x-httpd-php5s .php al archivo .htaccess en la raíz del documento de mi servidor local (que cambio frecuentemente dependiendo del sitio en el que estoy trabajando con). Como lo hice cuando visito http://localhost:8888 mi navegador simplemente descarga el index.php y no se procesa en absoluto, solo el código sin formato. Ahora Quité esa línea del archivo .htaccess, pero sigo teniendo este problema.Los archivos PHP se descargan por navegador en lugar de procesados ​​por el servidor local de desarrollo (MAMP)

He encontrado que si agrego una entrada alternativa a mi archivo de hosts para 127.0.0.1, la nueva entrada se comporta como 'localhost'. Pero si agrego la línea de arriba a mi .htaccess también noquea a ese nuevo host. Intenté volver a instalar MAMP y borrar sus cachés y todos los archivos temporales que pude encontrar. Navegué por el archivo httpd.conf de Apache todo en vano.

Por lo tanto, para ser claros: http://localhost:8888 está experimentando el problema anterior. Si agrego una nueva entrada a mi archivo hosts para 127.0.0.1, diga 'goomba' y la línea anterior no está en la raíz .htaccess (y nunca ha sido para ese host/alias/lo que sea) entonces puedo acceder http://goomba:8888 bien . Pero si agrego esa línea al .htaccess, entonces tengo que agregar otra entrada al archivo de mi host para evitar el , incluso si elimino esa línea del archivo .htaccess.

Estoy bien con el uso de un alias diferente 127.0.0.1 (¿host ?, ¿cómo se llama?), Pero me está molestando que todavía esté roto.

Para que quede claro, estoy en Mac OS Leopard (pero no estoy usando la configuración integrada de Apache, sino MAMP).

Respuesta

4

Usted está solicitando un tipo MIME en un controlador debe ser (ver documentation on handlers)

probar este lugar:

AddType application/x-httpd-php5 .php 

EDIT: Como se ha indicado módulos de almacenamiento en caché se cargan, se podía leer hasta en caching y htcacheclean (para borrar la memoria caché del disco). También puede usar temporalmente la directiva CacheDisable. Otra cosa que también podría intentar es cambiar el nombre del archivo que ha solicitado (por ejemplo, index.php -> index.bak), solicitar nuevamente el archivo en el navegador (ahora debe 404), luego revertir e intentar nuevamente.

+0

Lo he intentado (y nuevamente, ahora mismo) en vano. Mi httpd.conf ya tiene esa línea (menos el 5), de todos modos. Mi problema es que, a pesar de que la línea problemática mencionada en mi pregunta se eliminó, sigo teniendo problemas. Es como si el servidor hubiera almacenado en caché el archivo .htaccess solo para 'localhost', no para otros hosts que apuntan a 127.0.0.1. Por favor agregue énfasis a mi pregunta para aclaración. ¡Gracias de todos modos! – donut

+0

¿El servidor tiene algún módulo de caché cargado? Sí, el "5" se dejó en el accidente – Cez

+0

Lo hace: file_cache_module, cache_module, disk_cache_module y mem_cache_module. ¿Cómo podría borrar estos cachés? ¿Alguno de estos causaría este problema? ¡Gracias! – donut

0

Primero compruebe si su servidor Apache se está ejecutando. Inicio-> Run-> cmd y luego ejecutar el comando:

netstat -abn

de búsqueda el resultado de línea como la siguiente:

TCP 0.0.0.0:8888 0.0.0.0:0 ESCUCHAR 600 [Apache .exe]

Si no encuentra nada escuchando en el puerto 8888 (no en la línea 0.0.0.0:8888), entonces su apache no podrá iniciarse. Para saber por qué no puede comenzar, debe encontrar el directorio de registro de Apache y examinar el archivo error.log (¿puede haber actualizado su php de forma resentida?). Si encuentras una línea de escucha 0.0.0.0:80 pero otro software está escuchando allí (¿tienes IIS ejecutándose?) Entonces debes quitar/reconfigurar esa softure para liberar el puerto 80. Si tienes apache escuchando en el puerto 80 pero aún no puedes abrir su sitio y no puede averiguar qué está causando el problema mediante el examen de los archivos de registro de Apache, entonces es mi problema de base de datos. Compruebe si su MySQL se está ejecutando y escuchando usando el mismo comando pero usted debe estar buscando

TCP 0.0.0.0:3306 0.0.0.0:0 ESCUCHAR [mysqld-nt.exe]

Si no puede encontrar dicha línea entonces su servidor mysql no se está ejecutando - verifique si hay errores en los archivos de registro de MySQL. Si ambos servidores se están ejecutando y no puede obtener ningún resultado en su navegador, entonces verifique su firewall y antivirus, ya que pueden bloquear sus solicitudes. Espero que esto ayude;)

+1

Un par de cosas: Estoy en Mac OS Leopard; el servidor Apache está trabajando para nuevas entradas en mi archivo de hosts. Por favor, mira las actualizaciones de mi publicación para más detalles. ¡Gracias! – donut

2

Quizás desee application/x-httpd-php5 en lugar de application/x-httpd-php5s? (Tenga en cuenta la falta de un s al final.)

+0

Lo intenté en vano. Antes funcionaba bien sin nada en .htaccess. – donut

1

Por el mismo tema, me quita la aplicación AddType '5'/x-httpd-php .php .htm .html

su funcionamiento muy bien! intente

12

He tenido un problema similar un par de veces y el cambio de nombre del archivo no funcionó. Con OS X Lion encontré la configuración correcta es la siguiente:

<IfModule php5_module> 
    AddType application/x-httpd-php .php 
    <FilesMatch \.php$> 
     SetHandler application/x-httpd-php 
    </FilesMatch> 
    AddType application/x-httpd-php-source .phps 
    <IfModule dir_module> 
     DirectoryIndex index.php index.html 
    </IfModule> 
</IfModule> 

La magia que hace que funcione para mí es la parte SetHandler application/x-httpd-php.

Por supuesto, edite el <IfModule php5_module> en su versión php.

+0

Este también fue el caso de OSX Mountain Lion. – Jack

+3

¿dónde debería colocarse? –

+0

@ToniMichelCaubet: Tarde para la fiesta, pero coloca eso en '/ etc/apache2/other/php5.conf' y asegúrate de que la configuración principal de apache (en'/etc/apache2/httpd.conf') tenga una línea sin comentario (cerca de la parte inferior) que dice: 'Include/etc/apache2/other/*. conf'. – webtweakers

0

De hecho, tuve un problema muy similar. Todos mis archivos php se estaban descargando cuando traté de probar si php y apache estaban trabajando juntos. Resulta que no estaban trabajando juntos.

Tuve que desinstalar php, recomendaría el mismo curso de acción y luego reinstalar php simplemente usando la descarga del archivo zip en php.net, en lugar de instalarlo con MAMP. Creo que mi problema fue que había usado el instalador de php. No recomiendo usar eso.

Este sitio web me ayudó mucho, tuve un problema con Apache no iniciando y, aunque ese no es su problema, este sitio web resolvió apache no iniciando y descargando archivos php y aunque está en una mac también puede ayudarlo http://forums.phpfreaks.com/topic/185771-problem-starting-apache-2214-after-installing-php-5212

Espero que todo funcione! ¡Buena suerte!

0

en mi caso la eliminación de comentar ".php AddHandler cgi-php56" en los archivos de mi htacces involucradas raíz resolvió

Mejor

Cuestiones relacionadas