Pregunta

He añadido en php como módulo de Apache 2.2.11:

LoadModule php5_module "c:/php/php5apache2_2.dll"

Y también añadió

AddType application/x-httpd-php .php

Y en PHP.ini, mi extensión dir se establece en: extension_dir = "C:\php\ext"

Y , los directorios son correctos y todos los archivos no existen.

Pero cuando voy a iniciar apache, me da estos errores:

PHP Advertencia:PHP Startup:No se puede cargar la biblioteca dinámica 'C:\php\ext\php_mysql.dll' - El módulo especificado no pudo ser encontrada. en Desconocido en la línea 0
PHP Advertencia:PHP Startup:No se puede cargar la biblioteca dinámica 'C:\php\ext\php_pdo_pgsql.dll' - El módulo especificado no pudo ser encontrada. en Desconocido en la línea 0
PHP Advertencia:PHP Startup:No se puede cargar la biblioteca dinámica 'C:\php\ext\php_pgsql.dll' - El módulo especificado no pudo ser encontrada. en Desconocido en la línea 0

[Sol el 17 de Mayo de 03:46:01 de 2009] [aviso] Apache 2.2.11 (Win32) PHP/5.2.9-2 configurado -- la reanudación de las operaciones normales
[Sol el 17 de Mayo de 03:46:01 de 2009] [aviso] Server integrado:10 dic 2008 00:10:06
[Sol el 17 de Mayo de 03:46:01 de 2009] [aviso] Padre:Creado proceso hijo 4652

PHP Advertencia:PHP Startup:No se puede cargar la biblioteca dinámica 'C:\php\ext\php_mysql.dll' - El módulo especificado no pudo ser encontrada. en Desconocido en la línea 0
PHP Advertencia:PHP Startup:No se puede cargar la biblioteca dinámica 'C:\php\ext\php_pdo_pgsql.dll' - El módulo especificado no pudo ser encontrada. en Desconocido en la línea 0
PHP Advertencia:PHP Startup:No se puede cargar la biblioteca dinámica 'C:\php\ext\php_pgsql.dll' - El módulo especificado no pudo ser encontrada. en Desconocido en la línea 0

[Sol el 17 de Mayo de 03:46:01 de 2009] [aviso] Niño 4652:Proceso hijo ejecuta
[Sol el 17 de Mayo de 03:46:01 de 2009] [aviso] Niño 4652:Adquirido el principio de exclusión mutua.
[Sol el 17 de Mayo de 03:46:01 de 2009] [aviso] Niño 4652:A partir de 64 subprocesos de trabajo.
[Sol el 17 de Mayo de 03:46:01 de 2009] [aviso] Niño 4652:A partir de hilo para que escuche en el puerto 80.

Así que probablemente estoy olvidando de algo simple aquí, alguien puede decirme lo que me estoy olvidando?

¿Fue útil?

Solución

No sólo necesita DLL de extensión de PHP con el fin de añadir soporte para MySQL y PostgreSQL a PHP. También es necesario bibliotecas nativas MySQL y PostgreSQL. DLL de extensión de PHP probablemente no están encontrando algunos DLL que dependen, por lo que no se puede iniciar.

Asegúrate de que tienes MySQL y PostgreSQL cliente instalado, y sus archivos DLL en un lugar localizable.

I.E. ejemplo:

  • php_mysql.dll depende de libmysql.dll

Por lo tanto, asegúrese de que PHP es capaz de encontrar libmysql.dll (creo que éste viene con la distribución binaria de PHP en Windows. No es seguro sin embargo).

Otros consejos

Para añadir a los consejos de Pablo Santa Cruz. En las ventanas se pueden incluir las bibliotecas necesarias en el PATH medio ambiente. (Ejemplar no necesariamente a la carpeta de Windows). Al cargar bibliotecas viudas se ve en C:\php directorios también.

Si utiliza la distribución binaria de Win32 estándar de php.net para PHP5.2, entonces el paquete debe contener todas las dependencias en la raíz de los paquetes. Por lo tanto, si ha instalado el PHP5.2 en <=>, añadir este directorio a la <=> envar. Reiniciar el Apache y yo esperaría extensiones para cargar correctamente.

He tenido un problema con una versión específica de PHP en Windows. El problema era libmysql. He encontrado un fallo publicado en el sitio php.net de alguien con el mismo problema.

He utilizado la versión anterior y php libmysql trabajado. Echa un vistazo a las notas sobre la distribución de PHP que está utilizando. Creo que después de una versión específica mencionan una nueva política con respecto a libmysql.

A partir de lo que mencionas php es incapaz de encontrar las extensiones. Asegúrese de que ha establecido la ruta en php.ini que especifica dónde se encuentran las extensiones, que existen las extensiones y que la carpeta puede ser visitada (-permisos de lectura).

Si todo falla trate de mover la extensión a windows / system32 en un esfuerzo para encontrar lo que podría ser el verdadero problema.

Saludos,

Esas extensiones dependen de bibliotecas nativas que son proporcionados por el MySQL y PostgreSQL distribuciones binarias.Instalar y poner la libs en apache bin por ejemplo, la carpeta.Esos son LIBMYSQL.DLL y LIBPQ.DLL respectivamente.

Yo suelo hacer eso en lugar de contaminantes Windows/System32 carpeta con ellos, porque en mi sistema sólo el apache/php es el cliente de las bases de datos y también lo hace mi apache/php instalación más portátil.

En mi experiencia, PHP en Windows es un gran dolor en el trasero. Por lo general obtener que funcione con el tiempo, pero siempre hay una gran cantidad de googlear y ensayo y error involucrado -. Al menos para mí

Así que, finalmente, se enfermó y cansado de él y simplemente instalado Ubuntu Server en una máquina virtual y lo tenía en marcha y funcionando en cuestión de minutos. Si esto es una opción para usted o no, no puedo decir, pero si es lo más definitivamente se ahorrará muchos dolores de cabeza en el largo plazo. Por no hablar de que siempre se puede mover sus máquinas virtuales alrededor, crear instantáneas y hacer todas las otras cosas de lujo que las máquinas virtuales son buenos para.

Yo tenía el mismo problema. Que estaba recibiendo uno de esos errores molestas ventanas emergentes cada vez que trataba de conectarse a phpMyAdmin. He escrito el nombre de usuario y contraseña y después tiraría el error.

Lo resuelto por mí, también fue copiar el libmysql.dl al directorio bin de Apache. Lo extraño es aparentemente las extensiones siempre que formen correctamente, pero aún necesitaba para hacer esto.

He intentado varias de estas soluciones y uno o más de ellos trabajaron ... El reinicio es la clave aquí. No reanudo en medio de estos cambios, pero después me reinicia que estaba trabajando:

  • añadir postgres DLL para Apache lib dir
  • añadir a postgres ruta PATH del sistema
  • añadir a postgres DLL system32

Creo que sólo la ruta hubiera funcionado, pero no hay tiempo para la limpieza aquí, así que hay que ir.

El problema aquí es que Apache ha cargado PHP, pero PHP no era capaz de cargar su extensión (MySQL, PostgreSQL, ...). Creo que debería introducir valores de trayectoria en su archivo php.ini en formato UNIX (no utilice caracteres de barra invertida como separador de directorio). por lo que en su archivo php.ini cambiar esto:

extension_dir = "C: / php / ext"

Soy también tenía el mismo problema y lo resolvió mediante la adición de "PostgreSQL" camino bin en variables de entorno del sistema

RUTA: C: \ Archivos de programa \ PostgreSQL \ 8.4 \ bin Se puede comprobar en phpinfo () también.

Cuando instalo PostgreSQL, poniendo en ruta del sistema se perdió. He añadido manualmente a continuación, reinicie el sistema.

he tenido este problema también, y copié las pertinentes (.dll) para systen 32 y que todavía no ha funcionado para mí. Estoy corriendo Windows 7 de 64 bits. Para conseguir que esto funcione para mí que tenía que copiar también el libmysql.dll al directorio ext. El mensaje de error dejó el registro de Apache y la página cargada con una respuesta favorable (conexión establecida).

Yo tenía el mismo problema y han intentado copiar libmySQL.dll a la carpeta bin de Apache y se solucionó el problema (Soy la creación de PHP 5.2.5 x64). Muchas gracias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top