Foros del Web » Programando para Internet » PHP » Configuración PHP »

Error al usar funciones mysql con PHP (W2003 Server)

Estas en el tema de Error al usar funciones mysql con PHP (W2003 Server) en el foro de Configuración PHP en Foros del Web. Buenas! Estoy configurando un PHP en una máquina Windows 2003 Server R2 Standard Edition Service Pack 2 (buf.. vaya nombrecito jaja). Como había cosas que ...
  #1 (permalink)  
Antiguo 20/04/2009, 05:16
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Error al usar funciones mysql con PHP (W2003 Server)

Buenas!

Estoy configurando un PHP en una máquina Windows 2003 Server R2 Standard Edition Service Pack 2 (buf.. vaya nombrecito jaja).

Como había cosas que me iban y otras que no, al final cogí el httpd.conf i el php.ini de mi ordenador (WXP, donde sí lleva tiempo funcionando correctamente) y los copié al W2003.

Lo que es el PHP me funciona correctamente porque me carga páginas con funciones de php (por ejemplo el date('Y');); pero lo que no me carga bien son las funciones de mysql. Me dice Fatal error: Call to undefined function mysql_connect() in MI_ARCHIVO on line X, o sea, que no reconoce la función...

Pero yo tengo puesto en el php.ini la línea:

extension=php_mysql.dll

Y también está puesto el directorio correcto:

extension_dir = "C:/Archivos de programa/PHP/ext"

Lógicamente, las dll están en esa ubicación.

He repasado el php.ini y el httpd.conf (aunque este dudo que esté mal, si las funciones PHP me las carga bien, lo que no me carga bien son las extensiones) pero no encuentro nada que crea que pueda servirme...

Alguna idea? Hay que hacer algún paso más para configurarlo en W2003? Alguna incompatibilidad? Cabe decir que el W2003 tiene un IIS trabajando por el puerto 80, y el Apache no me arrancaba por el 80 por un error y lo arranqué en 8080.

La versión es PHP Version 5.2.8

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 20/04/2009, 07:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error al usar funciones mysql con PHP (W2003 Server)

Hola kamae,

Adicionalmente a descomentar la linea en el php.ini tienes que asegurarte que las librerías de MySQL (libmysql.dll) esten en el PATH de tu sistema operativo.

Saludos.
  #3 (permalink)  
Antiguo 21/04/2009, 04:51
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Error al usar funciones mysql con PHP (W2003 Server)

Buenas GatorV, gracias por contestar!

Pues no estaba no, le añadí sólo el directorio donde estaba libMySQL.dll ( C:\Archivos de programa\MySQL\MySQL Server 5.1\bin ) pero no hubo ningún cambio. Luego al releer tu mensaje vi que igual te referías a toda la ruta incluso el fichero ( C:\Archivos de programa\MySQL\MySQL Server 5.1\bin\libMySQL.dll ), así que lo puse y ahora no me carga la página pero no sale error de PHP :S



Pero en cambio las que no tienen funciones mysql van bien:



Aunque debo decir que no he reiniciado la máquina (que no sé si hace falta.. en principio no haría falta no?) porque es un servidor y está terminando de hacer tareas..

Se os ocurre algo más?
Merciii de antemano!
  #4 (permalink)  
Antiguo 21/04/2009, 09:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error al usar funciones mysql con PHP (W2003 Server)

No, lo que tienes que agregar es el path, y no es necesario reiniciar la maquina, pero si tienes que reiniciar minimo el servidor web para que vuelva a cargar la extensión de MySQL.

Saludos.
  #5 (permalink)  
Antiguo 22/04/2009, 04:48
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Error al usar funciones mysql con PHP (W2003 Server)

Pero el Path de Windows ya lo agregué y no funciona, me sale el error que he enganchado arriba con captura de pantalla del Internet Explorer.

Exactamente he hecho:

Botón derecho sobre Mi Pc / Propiedades / Opciones avanzadas / Variables de entorno
Abajo en variables del sistema he escogido el Path, modificar, y he añadido al final:
;C:\Archivos de programa\MySQL\MySQL Server 5.1\bin\

Luego reinicio el servicio de Apache y sale error del Explorer cuando el código tiene alguna función de mysql.. (lo que me extraña es que antes me decía: "call to undefined function" y ahora sale el error de IE :S

Los pasos que hice son correctos no?

Graciaas!
  #6 (permalink)  
Antiguo 22/04/2009, 10:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error al usar funciones mysql con PHP (W2003 Server)

En teoría sí, revisa el log de errores de Apache es probable que ahí encuentres el problema de porque no te sale el error.

Saludos.
  #7 (permalink)  
Antiguo 24/04/2009, 02:09
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Error al usar funciones mysql con PHP (W2003 Server)

Holap!

Me aparece lo siguiente:

Cita:
[Fri Apr 24 08:49:13 2009] [notice] Parent: Received restart signal -- Restarting the server.
[Fri Apr 24 08:49:13 2009] [notice] Child 6140: Exit event signaled. Child process is ending.
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_curl.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_mssql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_printer.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
[Fri Apr 24 08:49:13 2009] [notice] Apache/2.2.11 (Win32) PHP/5.2.8 configured -- resuming normal operations
[Fri Apr 24 08:49:13 2009] [notice] Server built: Dec 10 2008 00:10:06
[Fri Apr 24 08:49:13 2009] [notice] Parent: Created child process 472
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_curl.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_mssql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_printer.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
[Fri Apr 24 08:49:13 2009] [notice] Child 472: Child process is running
[Fri Apr 24 08:49:14 2009] [notice] Child 6140: Released the start mutex
[Fri Apr 24 08:49:14 2009] [notice] Child 472: Acquired the start mutex.
[Fri Apr 24 08:49:14 2009] [notice] Child 472: Starting 250 worker threads.
[Fri Apr 24 08:49:15 2009] [notice] Child 6140: All worker threads have exited.
[Fri Apr 24 08:49:15 2009] [notice] Child 6140: Child process is exiting
[Fri Apr 24 08:49:15 2009] [notice] Child 472: Starting thread to listen on port 8080.
[Fri Apr 24 08:49:35 2009] [notice] Parent: child process exited with status 3221225477 -- Restarting.
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_curl.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_mssql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_printer.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
[Fri Apr 24 08:49:35 2009] [notice] Apache/2.2.11 (Win32) PHP/5.2.8 configured -- resuming normal operations
[Fri Apr 24 08:49:35 2009] [notice] Server built: Dec 10 2008 00:10:06
[Fri Apr 24 08:49:35 2009] [notice] Parent: Created child process 2420
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_curl.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_mssql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Archivos de programa/PHP/ext/php_printer.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
[Fri Apr 24 08:49:35 2009] [notice] Child 2420: Child process is running
[Fri Apr 24 08:49:35 2009] [notice] Child 2420: Acquired the start mutex.
[Fri Apr 24 08:49:35 2009] [notice] Child 2420: Starting 250 worker threads.
[Fri Apr 24 08:49:35 2009] [notice] Child 2420: Starting thread to listen on port 8080.
Parece que no carga bien los módulos estos pero.. ahora lo que joderá es saber por qué.. jajaj

He estado buscando por Google pero no encontré nada que no hubiera hecho ya.. Sólo que en vez de poner la ruta completa en el extension_dir, lo pusiera a partir de la carpeta raíz de PHP (es decir, en vez de "C:/Archivos de programa/PHP/ext/", poner "/ext/"). Eso almenos ha arreglado el problema de que no cargara nada, ahora vuelve a cargarme la página con el error de: mysql_connect: Call to undefined function.

He vuelto a mirar el log de errores, y sigue sin cargarme módulos:

Cita:
[Fri Apr 24 09:49:51 2009] [notice] Parent: Received restart signal -- Restarting the server.
[Fri Apr 24 09:49:51 2009] [notice] Child 2180: Exit event signaled. Child process is ending.
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_curl.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_gd2.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_mssql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_sqlsrv_ts.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_mysql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_pgsql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_printer.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_shmop.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
[Fri Apr 24 09:49:51 2009] [notice] Apache/2.2.11 (Win32) PHP/5.2.8 configured -- resuming normal operations
[Fri Apr 24 09:49:51 2009] [notice] Server built: Dec 10 2008 00:10:06
[Fri Apr 24 09:49:51 2009] [notice] Parent: Created child process 2288
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_curl.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_gd2.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_mssql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_sqlsrv_ts.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_mysql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_pgsql.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_printer.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/ext/php_shmop.dll' - No se puede encontrar el m\xf3dulo especificado.\r\n in Unknown on line 0
[Fri Apr 24 09:49:51 2009] [notice] Child 2288: Child process is running
[Fri Apr 24 09:49:52 2009] [notice] Child 2180: Released the start mutex
[Fri Apr 24 09:49:52 2009] [notice] Child 2288: Acquired the start mutex.
[Fri Apr 24 09:49:52 2009] [notice] Child 2288: Starting 250 worker threads.
[Fri Apr 24 09:49:53 2009] [notice] Child 2180: All worker threads have exited.
[Fri Apr 24 09:49:53 2009] [notice] Child 2180: Child process is exiting
[Fri Apr 24 09:49:53 2009] [notice] Child 2288: Starting thread to listen on port 8080.
[Fri Apr 24 09:49:54 2009] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function mysql_connect() in C:\\Archivos de programa\\Apache Software Foundation\\Apache2.2\\htdocs\\Marcatge\\index2.ph p on line 14
Gracias por la ayuda GatorV!
  #8 (permalink)  
Antiguo 24/04/2009, 09:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error al usar funciones mysql con PHP (W2003 Server)

Pues ahí esta tu problema el extension_dir de tu PHP.ini es incorrecto, en mi caso particular en una de mis maquinas que usa Windows lo tengo así:
Código:
extension_dir = "C:/Program Files/PHP/ext/"
Saludos.
  #9 (permalink)  
Antiguo 24/04/2009, 10:48
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Error al usar funciones mysql con PHP (W2003 Server)

No no, el php.ini está bien, el PHP está en Archivos de programa (es la primera vez q lo veía en Archivos de programa pero.. ciertamente está ahí) y ahora mismo tengo solo puesto:

Código PHP:
extension_dir "/ext/" 
Y funciona bien, de hecho si le pongo esto no funciona:

Código PHP:
extension_dir "C:/Archivos de Programa/PHP/ext/" 

Hoy ha venido un pavo en el curro que me ha ayudado a meterle un XP al VMWare (que da problemas por el driver SCSI de los discos duros VMW), así que lo instalaré en el XP y fuera... No sé que me ha dicho de los puertos, incompatibilidades entre MySQL, el IIS y el MSSQL y yo que sé.. En fin, que lo quito de ahí y lo instalo de nuevo en una XP a ver que tal va

Muchas gracias por tu interés y ayuda Gator! ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:06.