致命错误:调用未定义的函数mysql_connect()

时间:2011-04-17 16:56:31

标签: php mysql

当我调用此命令时:

php.exe Connection.php

我收到此错误:

Fatal error: Call to undefined function ...\mysql_connect() in Connection.php on line x.

但是,如果我在同一台服务器上的浏览器中运行它,我没有问题。 是的,我的服务器上启用了mysql

[编辑] 完成错误:

"C:\Program Files (x86)\EasyPHP-5.3.6.0\php\php.exe" "C:\Program Files (x86)\EasyPHP-5.3.6.0\www\MusicSite\Php\Devtron\Exemples\NewsTable.php"

Fatal error: Call to undefined function Devtron\Database\mysql_connect() in C:\Program Files (x86)\EasyPHP-5.3.6.0\www\MusicSite\Php\Devtron\Database\Connection.php on line 108

3 个答案:

答案 0 :(得分:3)

命令行解释器不一定加载与您在Web服务器中配置的任何SAPI相同的配置文件。运行此以找出:

<?php

var_dump( php_ini_loaded_file() );
var_dump( php_ini_scanned_files() );

答案 1 :(得分:2)

听起来几乎就像服务器上有两个PHP实例一样。如果您安装PHP(默认情况下从shell可用),然后有人安装了像xampp这样的软件包,就会发生这种情况。我将查看服务器的文件系统(可能是find / -name "php.exe")来查找所有实例。

听起来像在Web服务器上运行的那个启用了mysql,但是在shell中运行的那个没有。

答案 2 :(得分:1)

试试这个

$ php -m

检查mysql是否列在列表中。

$ php --ini 

如果像这样输出

Configuration File (php.ini) Path: /usr/local/lib

Loaded Configuration File:         (none)

Scan for additional .ini files in: (none)

Additional .ini files parsed:      (none)

$ locate php.ini然后你的系统上有php5。

 /etc/php5/apache2/php.ini
 /etc/php5/cli/php.ini
 .....................
 .....................

现在不做任何使用php5而不是像这样的PHP。

$ php5 test.php