2

I try to run a PHP script from the command line, but get the following error:

Call to undefined function mysql_connect() 

However, the mysql module is loaded:

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

I am on a Debian machine, so all modules are being loaded in their own .ini file:

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 

So even though the mysql module has been loaded, I still get said error when trying to call mysql_connect() in the PHP script.

Any ideas?

PS: Running the script via Apache works fine.

2
  • Did you have a look to your php error log file to look for additional information? Commented Jun 1, 2013 at 15:38
  • No information in error log, since I run the script from command line. Commented Jun 2, 2013 at 1:38

1 Answer 1

0

A solution to this problem seems to be both easy and strange (?) alike:

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

Why do I have to specify the php.ini file on command line again, if the interpreter says it loads that ini file anyway, even when one does not specify it explicitly?

1
  • You probably have two different versions of PHP installed on your system. Commented Jun 3, 2013 at 0:31

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.