Fatal error: Call to undefined function: mysql_connect()

Responder
kosciuk
Mensajes: 1105
Registrado: 21 May 2007, 19:47
Ubicación: Capital Federal, Argentina
Contactar:

Fatal error: Call to undefined function: mysql_connect()

Mensaje por kosciuk »

Una posible solución para este problema (que se me apareció en Xampp, intentando ejecutar un script desde la consola (el cmd.exe)) es comprobar si carga bien el php.ini, para eso ponemos antes de cualquier llamada de mysql_*

Código: Seleccionar todo

<?php phpinfo(); ?>
Como el phpinfo muestra demasiada info conviene hacer

Código: Seleccionar todo

C:/xampp/php/php.exe script.php > info.txt
Y ver lo que nos muestra. Si muestra algo así:

Código: Seleccionar todo

Configuration File (php.ini) Path => C:\WINDOWS
Loaded Configuration File => (none)
Scan this dir for additional .ini files => (none)
additional .ini files parsed => (none)
Ya sabemos el problema :)

Esto pasa porque el php.ini que usa Apache esta en xampp\apache\bin\ y si intentamos ejecutar php desde consola no hay forma de que lo encuentre.

La solución es copiar el php.ini de xampp\apache\bin\ a xampp\php\, pero mejor sería moverlo y agregar en el httpd.conf la siguiente linea (poniendo el directorio que estén usando, no? :mrgreen:):

Código: Seleccionar todo

PHPIniDir "/xampp/php"
Para que lo busque en la nueva ubicación y no tener más de un php.ini dando vueltas.

Conclusión: comprobar siempre que se cargue el php.ini usando phpinfo().
programarenphp
Mensajes: 1
Registrado: 25 Oct 2010, 14:30

Otra solucion error: Call to undefined function: mysql_conne

Mensaje por programarenphp »

Solución: fatal error: Call undefined function mysql_connect ().
Despues de buscar por poco mas de un dia la solución al problema arriba mencionado, y probar cambiando dll a system32, buscar la la librería de mysql y un monton de consejos más pude solucionarlo de la siguiente forma:
1.Descomentado las líneas siguientes del php.ini:
a.extension=php_mysql.dll
b.extension_dir = "ext"
2.Das click en inicio -> Panel de Control -> Sistema y Seguridad -> Sistema -> Configuración Avanzada del Sistema (del lado izquierdo) , en la ventana emergente click en variables de entorno, luego en el cuadro de variables del sistema buscas la línea que dice “Path”, la seleccionas y das click en “editar” luego al final de la línea que dice valor de la variable anotas la dirección del php.ini anteponiéndole un “;” por ejemplo: “;c:\servidor\php5” (sin las comillas).
3.Aceptar, aceptar, reinicias la maquina y pruebas (recuerda borrar el historial para evitar que lo jale de la cache).
Nota: Esto lo realice para Apache2.2.16+PHP5.3.3+MySQL 5.1.51 en una pc con Windows 7 professional. http://programarenphp.wordpress.com
Responder