Fatal error: Call to undefined function: mysql_connect()

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:

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

Código:

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

Código:

Configuration File (php.ini) Path => C:\WINDOWSLoaded 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:

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().
Publicado por:
ignatius
Foro
PHP