2011-04-17 122 views
1

调用未定义的函数mysql_connect()函数。当我把这个命令:致命错误:在

的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 
+1

'...... /'看起来很奇怪。这是错误信息吗? – 2011-04-17 17:01:23

+0

+1 - 没有注意到我的回答之前 – 2011-04-17 17:03:11

+0

这个“Devtron \ Database \ mysql_connect()”看起来像一个名字空间问题,但@Demian的答案可能仍然显示问题的根源。 – 2011-04-17 17:06:08

回答

2

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

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

3

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

<?php 

var_dump(php_ini_loaded_file()); 
var_dump(php_ini_scanned_files()); 
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