2011-04-17 189 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