как исправить эту ошибку "PHP Fatal error: вызов неопределенной функции mysql_query ()" в консоли для выпекания тортов - PullRequest
5 голосов
/ 10 февраля 2011

Я видел эту ошибку во многих местах, но точный случай. Я получил эту ошибку, когда запускал консоль Cake Bake, точно после выбора C «controller» и выбора конфигурации базы данных по умолчанию

Я нахожусь на Ubuntu 10.10 через Virtualbox я использую xampp - и установил cakephp с помощью команды apt-get install 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 ]

4 голосов
/ 10 февраля 2011

Скорее всего, ваша проблема в том, что в некоторых дистрибутивах Linux есть разные php.ini для Apache PHP и PHP-CLI. Похоже, что в вашем PHP-CLI (который будет использовать пекарь) не включены функции mysql_ *.

Чтобы исправить, вам нужно найти php.ini для PHP CLI и раскомментировать строку, содержащую mysql_ * lib.должно быть что-то вроде «extension = mysql.so».Чтобы найти местоположение php.ini, запустите php -r 'phpinfo();' в командной строке и прокрутите вверх, чтобы увидеть расположение php.ini.

1 голос
/ 02 декабря 2011

Переустановка сделала свое дело для меня:

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 голосов
/ 27 июня 2015

Еще одна вещь, которую люди обычно упускают, - это указать путь к самому каталогу расширений.

Например, посмотрите на файл ini в другой поток .Он уже раскомментировал строку extension=php_mysql.dll, но не установил соответствующий extension_dir.

. Эта строка должна быть раскомментирована или добавлена:

extension_dir = "ext"

где extпуть к каталогу расширений.

0 голосов
/ 10 ноября 2011

Я использовал Ubuntu 10.04 и 11.04 и столкнулся с тем же препятствием, которое раздражало довольно долгое время, так как я хочу использовать bake для определенных решений.

Чтобы исправить это, вы можете открыть терминал и набрать здесь:

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). В противном случае вы можете задать путь к файлу конфигурации любым способом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...