2011-02-10 132 views
5

我在很多地方看過這個錯誤,但確切的情況。 我一邊跑蛋糕烘焙控制檯,究竟選擇C「控制器」後,然後選擇默認的數據庫配置如何解決這個錯誤「PHP致命錯誤:調用未定義的函數mysql_query()」在蛋糕烘焙控制檯

我通過VirtualBox的 我在Ubuntu 10.10我使用的XAMPP得到這個錯誤 - 並通過安裝CakePHP的命令的apt-get安裝CakePHP的

這裏是

Use Database Config: (default/test) 
[default] > 
PHP Fatal error: Call to undefined function mysql_query() in /usr/share/php/cake/libs/model/datasources/dbo/dbo_mysql.php on line 588 

Fatal error: Call to undefined function mysql_query() in /usr/share/php/cake/libs/model/datasources/dbo/dbo_mysql.php on line 588 
+2

您在標題中引用的錯誤與正文中的錯誤不同。 – 2011-02-10 08:00:07

+0

你是對的..我粘貼錯誤的代碼..謝謝 – msheshtawy 2011-02-10 08:27:28

回答

4

你的問題更可能是一些Linux發行版有不同的php.ini的爲Apache和PHP和PHP-CLI,看來你的PHP錯誤-CLI(蛋糕麪包師將使用)不具有mysql_ *功能啓用。

要解決此問題,您需要找到PHP CLI的php.ini,並取消註釋包含mysql_ * lib的行。應該像「extension = mysql.so」一樣。要找到php.ini的位置,請在命令行上運行php -r 'phpinfo();'並滾動到頂部以查看php.ini的位置。

-1

我使用了Ubuntu 10.04和11.04,並且面臨着相當長時間以來一直令人討厭的相同障礙,因爲我想使用某些解決方案的烘烤。

要解決它,你可以打開一個終端,並在此處鍵入:

php -i | grep 'Configuration File' 

這將產生這樣的:

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

好和令人驚訝的是,這不是保持默認路徑你php.ini文件,這相當於/etc/php5/cli/

現在你可以簡單地複製你的php.ini轉換成/usr/local/lib或查看如何修復配置文件路徑。

我假設你已安裝php5-pgsql(使用postgres)或php5-mysql(使用MySql)。否則,你可以設置你的配置文件的路徑以任何方式

1

重新安裝的伎倆對我來說:

sudo apt-get remove php5-common 
sudo apt-get install --reinstall php5-mysql 
sudo apt-get install --reinstall php5-cli 

(注:我的是現場或系統關鍵PHP安裝 - 我只是想以獲得phpsh與一些mysql代碼工作。ymmv。)

0

人們通常錯過的另一件事是設置擴展目錄本身的路徑。

例如,請查看ini文件another thread。他已經取消註釋extension=php_mysql.dll,但沒有設置合適的extension_dir

需要使用此行的註釋去掉,或在補充道:

extension_dir = "ext" 

其中ext是路徑擴展目錄。

相關問題