如何在蛋糕烘焙控制台中修复此错误“PHP致命错误:调用未定义函数mysql_query()”

时间:2011-02-10 07:57:14

标签: mysql cakephp

我在许多地方看到过这个错误,但确切的情况。 我在运行蛋糕烘焙控制台时遇到此错误,正好在选择C“controller”然后选择默认数据库配置

之后

我通过Virtualbox访问Ubuntu 10.10 我正在使用xampp - 并通过命令apt-get install cakephp

安装了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

4 个答案:

答案 0 :(得分:4)

您的问题很可能是某些Linux发行版对于Apache PHP和PHP-CLI有不同的php.ini,看来你的PHP-CLI(蛋糕会使用哪个)没有启用mysql_ *函数

要修复,您需要找到PHP CLI的php.ini并取消注释包含mysql_ * lib的行。应该像“extension = mysql.so”。要查找php.ini的位置,请在命令行上运行php -r 'phpinfo();'并滚动到顶部以查看php.ini的位置。

答案 1 :(得分: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。)

答案 2 :(得分:0)

人们通常会错过的另一件事是设置扩展目录本身的路径。

例如,查看another thread处的ini文件。他已取消评论该行extension=php_mysql.dll,但未设置相应的extension_dir

您需要取消注释或添加此行:

extension_dir = "ext"

其中ext是扩展目录的路径。

答案 3 :(得分:-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)。否则,您可以以任何方式设置配置文件路径