PHP CLI:即使在启用mysql模块的情况下调用未定义的函数mysql_connect()

我尝试从命令行运行PHP脚本,但出现以下错误:

Call to undefined function mysql_connect() 

但是, mysql模块被加载:

 root /var/www/scripts # php -m | grep mysql mysql mysqli pdo_mysql 

我在Debian机器上,所以所有的模块都被加载到自己的.ini文件中:

 root /var/www/scripts # php --ini Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: /etc/php5/cli/php.ini Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: /etc/php5/cli/conf.d/10-pdo.ini, /etc/php5/cli/conf.d/20-apc.ini, /etc/php5/cli/conf.d/20-gd.ini, /etc/php5/cli/conf.d/20-mcrypt.ini, /etc/php5/cli/conf.d/20-mysql.ini, /etc/php5/cli/conf.d/20-mysqli.ini, /etc/php5/cli/conf.d/20-pdo_mysql.ini, /etc/php5/cli/conf.d/20-xmlrpc.ini 

所以,尽pipemysql模块已经被加载,但是在PHP脚本中调用mysql_connect()时候仍然会出现错误。

有任何想法吗?

PS:通过Apache运行脚本工作正常。

这个问题的解决scheme似乎既简单又奇怪(?):

 php -c /etc/php5/cli/php.ini -nf script.php 

为什么我必须再次在命令行上指定php.ini文件,如果解释器说它加载了ini文件,即使没有明确指定它?