Вопрос № 129225: Здравствуйте, дражайшие коллеги! Обрисовываю проблему... Всю сознательную жизнь я использовал Денвер для установки PHP, Apache, MySQL и пр. и дальнейшей разработки сайтов. Два года, что я занимаюсь программированием, он меня устраивал на все 101%...
Вопрос № 129.225
Здравствуйте, дражайшие коллеги! Обрисовываю проблему... Всю сознательную жизнь я использовал Денвер для установки PHP, Apache, MySQL и пр. и дальнейшей разработки сайтов. Два года, что я занимаюсь программированием, он меня устраивал на все 101%. Однако в последнее время мое терпение начинает закипать, потому что некоторые библиотеки, а именно Zend Framework, работать отказываются. Причем сам PHP работает, грузится localhost, и ничто о проблеме не напоминает, пока не требуется динамически загрузить какой-нибудь
класс Zend Framework`а. Грузятся(вернее, НЕ грузятся) классы посредством функции __autoload(), имя класса преобразуется в путь(от каталога, в котором лежит сам фреймворк) к файлу, содержащему класс, посредством замены символов "_" на DIRECTORY_SEPARATOR (по-простому - "/") и присоединяется в конце ".php". Вот такой вот нехитрый принцип реализации пространств имен :) Но речь-то не об этом. Это если кто сталкивался с такой проблемой
, если что, вдруг да подскажет... Пути пробовал прописывать по-разному. И полный путь пробовал прописывать в require_once, и через set_include_once, и через ini_set... В худшем случае Internet Explorer говорит что-то типа "невозможно загрузить страницу"(или что там он в таких случаях болтает), в лучшем - что файл отсутствует. Версия Zend_Framework 1.0.4. Причем следует отметить, что все работало - примерно дня два назад все "упало". С чем связано - не знаю...
Вторая часть вопроса.
Если кому нетрудно распишите процесс сращивания MySQL с остальными компонентами Web-сервера, то есть, хочется, чтобы PHP мог посылать запросы и получать ответы из СУБД. Обычно, когда я настраиваю сервер "ручками", при попытке поработать с функциями для работы с MySQL хитрый интерпретатор выдает ошибку Call to undefined function Mysql_Connect, при этом, естественно, я подключил все необходимые Extension`ы в PHP.INI.
Если есть желание повозиться
с ответом подольше :) можете прислать подробную инструкцию по настройке сервера(Apache, MySQL, PHP) так, как это сделано у Вас. То есть, если Вы мне скинете свой httpd.conf, пути к каталогам, в которые установлены PHP(версии строго 5.2.x), Apache, MySQL, другие конфигурационные файлы, то я буду очень рад. А то, честно сказать, надоел мне уже это треклятый денвер, охота руками научиться сервера устанавливать. Научите, пожалуйста. С уважением, Товарищ Бородин / Borodul
Отвечает: Иван Сергеевич
Здравствуйте, Товарищ Бородин / Borodul!
В идеале все просто. Настроек минимум, они в приложении.
Для начала надо настроить пхп. Потом запустить простейшее приложение с командой phpinfo(). Mysql может и сразу с пхп идти. Если раздела с мускулем нет, то вписываем ручками в php.ini. Только надо удостовериться, что длл-ка существует и имя папки (параметр extensions) указан правильно. Я проверял правильность этих параметров, открывая еще какую-нибудь длл-ку (например GD2) - если она появится в phpinfo(), то скорее всего нет длл в папке с расширениями.
ЗЫ. На всякий случай - после внесения изменений в апач его надо перегрузить.
Приложение:
Ответ отправил: Иван Сергеевич (статус: 5-ый класс)
Ответ отправлен: 26.03.2008, 23:14 Оценка за ответ: 3 Комментарий оценки: Вы, наверно, подумали, что я совсем ламер... Спасибо, конечно, но про то, что Апач надо перезагружать(и вовсе не на всякий случай!) после внесения изменений в конфигурацию, я знаю... Меня интересовало, как заставлять работать MySQL работать из PHP. Я в вопросе ясно написал, что руками у меня этого делать не получалось, и что extension`ы прописывал все. Ставлю "3" только
потому, что ответ не неправильный, а неподробный, поверхностный.