4 votos

Error al iniciar el Apache con el módulo de PHP en Windows: "No se puede cargar php5apache2_4.dll en el servidor: Acceso denegado"

Estoy teniendo algunas dificultades para la instalación de Apache 2.4.7 con PHP 5.5.7 en Windows Vista Service Pack 2.

Cuando intenta iniciar Apache, me da el error:

Error de sintaxis en la línea 176 de C:/Program Archivos/Apache/conf/httpd.conf: No se puede cargar C:/Program Files/PHP/php5apache2_4.dll en el servidor: Acceso denegado.

He mirado en temas relacionados, tanto en el aquí y en otros sitios, pero el único problema que puedo encontrar es donde el error es "El procedimiento especificado no se pudo encontrar" o "El módulo especificado no se pudo encontrar", ninguno de los cuales son relevantes para mi problema.

Como puedes ver en los enlaces de descarga, estoy usando Win32 versiones de Apache y PHP y el hilo seguro de la versión de PHP. Me he asegurado de que el C:/Program Files/PHP/php5apache2_4.dll el archivo existe y volver a instalar el Visual C++ Redistributable (http://www.microsoft.com/en-gb/download/details.aspx?id=30679; VSU_4\vcredist_x86.exe). También he intentado mover tanto el Apache y el PHP carpetas fuera de los Archivos de Programa, pero esto no resuelve el problema.

Como el error que estoy consiguiendo es "Acceso denegado", supongo que el problema es de permisos de archivo, pero no estoy seguro de qué permisos para cambiar y lo que debe cambiar. Así que cualquier ayuda que me pueda conseguir será muy apreciada.

Editar

Después de algunas pruebas, parece que este problema sólo surge a partir de PHP 5.5.4 adelante. Volver a 5.5.3 resuelve el problema.

Edit 2

El problema parece ser que php5ts.dll no se puede leer, a pesar de mostrar legible permisos. Incluso cuando los programas son "ejecutar como administrador", el archivo no puede ser abierto (pero puede ser eliminado y cambiado el nombre). El archivo puede ser abierto si la extensión es cambiado a algo distinto de dll o exe, y otros archivos en la misma carpeta se pueden abrir incluso si cambió de nombre a php5ts.dll (en sustitución de la original).

1voto

Ben Collins Puntos11318

Hechos y Observaciones

Analicemos los hechos:

  1. Funciona con una extensión distinta a la típica ejecutable/extensiones de código como .dll, .exe, etc.
  2. No funciona con un nombre de archivo diferente
  3. Trabajó muy bien con una versión anterior; sólo la versión más reciente está teniendo problemas
  4. Funciona muy bien en modo seguro
  5. Modo seguro desactiva todos los no esenciales a los conductores y
  6. No muestra ninguna de las cerraduras o abierta: se encarga de la
  7. Dice access denied
  8. No se puede mover, abrir, copiar, etc.

Análisis

Los puntos 1-3 indica que algo sobre el contenido de los archivos que estén causando el problema. Esto se parece mucho a algún tipo de programa anti-virus arrojar un falso positivo.

Puntos 4-6 punto a algún tipo de servicio o controlador que está causando el problema.

Técnica

Software de seguridad, como programas antivirus suelen tener para que se ejecute en un nivel bajo para evitar que el malware se cuela, por lo que el uso de los controladores y se ejecutan bajo la System proceso. Esto impide que la mayoría de los programas de ser capaz de detectar que un archivo está bloqueado por el programa de seguridad (que es la razón por la Unlocker no pudo encontrar ningún identificadores abiertos), e incluso si se puede, solo muestran que System tiene abierta la cual no es muy útil.

Aplicación y Explicación

Usted dijo que había AVG instalado en un punto, pero lo desinstala. Al parecer AVG no se desinstala completamente (perdida de un reinicio?) y por lo que sus conductores se quedó atrás.

Así que ahora, cada vez que acceda a un archivo, el controlador de cerraduras para el análisis, sino porque el resto del programa se ha ido, no hay manera de que se indicará si se piensa que el archivo es sospechoso. Si el programa todavía estaban instalados, se mostraría un mensaje y preguntar que quiere hacer (o más probablemente en estos días, automáticamente en cuarentena/eliminar el archivo para "proteger"). Desde que el programa se ha ido, el componente de controlador se sienta allí esperando, manteniendo bloqueado el archivo.

Desde que tuvo desinstalar AVG hace un tiempo, es probable que no tienen las definiciones más recientes (si los hay?), así que no sería capaz de salir de la última versión de php5ts.dll solo, y tiró de un falso positivo, lo que bloquea el archivo y no hay forma de decirle que pararla.

AVG

No sé si AVG nunca se quejó de esta versión específica de php5ts.dll cuando salió por primera vez, pero no ahora.

También, no sé si AVG es conocido por tener una gran cantidad de falsos positivos, aunque estoy seguro de que he leído que sobre algunos de AV vender; pero un somero de verificación parece indicar que la búsqueda de false positive tiene al menos un 33% más de visitas para AVG que otros fabricantes AV.

Consejos para el Futuro

Este problema se produjo porque el AVG no se desinstala completamente y a la izquierda los restos detrás. Desafortunadamente, este es un todo–demasiado-común problema. En el futuro, cuando desinstalar cualquier software anti-virus, programas, controladores de impresora/software, etc. compruebe siempre si el vendedor ha proporcionado algún tipo de retiro/de la herramienta de limpieza/utilidad (pruebe diferentes combinaciones de palabras para asegurarse de que encontrar).

La mayoría de los software de seguridad de la impresora y de los vendedores, así como algunas otras empresas de software y fabricantes de hardware (generalmente pequeño), programa que se puede descargar y ejecutar para borrar todos los rastros de su software. Por desgracia, esto no suele ser integrado en el programa de desinstalación y debe ser descargado manualmente desde su sitio. A veces será en la parte normal de su sitio, a veces será enterrado en algún lugar en sus foros de soporte. (Estos son por lo general compilado de error en los informes de la gente que se encuentra a la izquierda-sobre los archivos, entradas del registro, servicios, etc. que se quedan atrás por el programa de desinstalación, lo que es la razón por la que ellos están separados.)

En su caso, usted podría tener (y debe), uso el AVG "remover".

NB: cuando se busca una utilidad de limpieza de software de seguridad, tenga cuidado de no mezclarlo con un virus-herramienta de eliminación.

0voto

Louis Puntos121

Normalmente este tipo de errores significan que se echa en falta una dependencia que es utilizado por php5apache2_4.dll, probablemente introducido en PHP 5.5.4.

Para comprobar cuál es la que falta, el uso de la Dependency Walker, que muestra la falta Dll en color rojo. Faltan archivos Dll que están marcadas como "retraso" de la carga, generalmente no son un problema.

Asegúrese de que usted no tiene un valor de 32-bit/64-bit de desajuste. Como todo está en C:/Program Files, supongo que todo el software es de 64 bits. En este caso, utilice también la versión de 64 bits de Dependency Walker.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

;