Почему CakePHP не может испечь подключение к MySQL, работающему под EasyPHP в Windows Vista Ultimate?

У меня CakePHP (cake_1.2.2.8120) и EasyPHP (3.0) установлены на Windows Vista Ultimate. Я следовал онлайн-учебникам по «выпечке», успешно установил соединение с базой данных с помощью команды «выпечка торта» из CLI.

Я испек контроллер для своей таблицы «Пользователи» с помощью команды «php cake.php испечь контроллер пользователей» - сработало нормально. Однако, когда я попытался запечь представление аналогичным образом, я получил следующее сообщение:

Fatal error: Call to undefined function mysql_connect() in C:\Web\EasyPHP
\www\cake\cake\libs\model\datasources\dbo\dbo_mysql.php on line 374'

Кроме того, модуль mysql включен для PHP на странице phpmyadmin (веб), но я не могу найти его в CLI (используя «php -m» из командной строки), хотя я раскомментировал «extension = php_mysql .dll" в файле php.ini.

Любые подсказки?


person AlaaShaker    schedule 06.05.2009    source источник
comment
Я думаю, у вас была установка PHP без скомпилированного расширения MySQL.   -  person powtac    schedule 20.05.2009
comment
Да, кажется, что EasyPHP не предоставляет скомпилированный MySQL для CLI. XAMPP делает это без каких-либо дополнительных шагов, просто установка. В любом случае спасибо :)   -  person AlaaShaker    schedule 22.05.2009
comment
Я думаю, что правильный ответ не тот, который указывает на изменение вашего программного обеспечения, а тот, который указывает, почему возникла проблема, т.е. ответ от @andrej. Это решение проблемы. При обычном использовании PHP существует php.ini для Apache (использование в Интернете) и еще один для CLI (интерфейс командной строки). Итак, EasyPHP имеет Apache, но не для CLI. Вы должны сделать копию из php.ini в папке apache в папку php для использования в CLI. Спасибо Андрей.   -  person Alejandro García Iglesias    schedule 04.09.2011


Ответы (4)


Возьмите XAMPP, который имеет apache с настройкой модулей mysql и php и работает вместе, а также в версиях mysql и командной строки. Он просто распаковывается в любой каталог, поэтому он не испортит другие установки Apache, которые у вас есть, просто будьте осторожны с любыми конфликтами портов между различными установками.

http://www.apachefriends.org/en/xampp-windows.html

person Ryan953    schedule 06.05.2009
comment
Спасибо, чувак .. это был глупый EasyPHP! Теперь все отлично (Ю) - person AlaaShaker; 06.05.2009

Основная причина проблемы заключается в том, что в EasyPHP 5.3 нет файла php.ini в папке php. Скопируйте php.ini из EasyPHP5.3\apache в EasyPHP5.3\php, чтобы решить эту неприятную проблему.

person andrej    schedule 25.12.2009

Не знаю EasyPHP, но, похоже, он основан на Apache. Проверьте, используете ли вы модуль Apache для подключения к mysql, так как это не будет работать в CLI.

person Ickmund    schedule 06.05.2009
comment
Спасибо за ответ, но не могли бы вы сказать мне, как я мог это знать? Я все еще новичок в этих вещах :$ :) - person AlaaShaker; 06.05.2009

скопируйте apache/php.ini в php/php.ini.

person Community    schedule 17.05.2009