Просмотров: 11526 шт.
Современные тренды в Ваб-разработке не стоят на месте и чтобы быть в тонусе необходимо постоянно изучать новые методы и стили разработки. Сейчас в разработке проектов программистами активно используются фреймворки типа Laravel, Yii, Symfony. В качестве шаблонизаров применяется haml или blade, а первенство среди css-фреймворков по-прежнему держит Bootstrap. Кроме того, всё активнее применяется парадигма Full-Stack JavaScript: Node.js Backbone.js и MongoDB, поскольку обладает огромной гибкостью, лёгкостью и кросс-платформенностью.
В рамках этих трендов мне понадобилось установить на домашнем компьютере под управлением Windows 7 необходимый для работы Веб-сервер и Composer, но я столкнулся с ошибками установки, решение которых я попытаюсь описать в этой статье.
*****
Первым делом скачиваем и устанавливаем Git 2 с сайта http://git-scm.com/ и Denwer 3 (На текущий момент это Denwer3 с PHP версии 5.3.13). Для работы с фреймворком Laravel удобно использовать менеджер зависимостей - Composer. Качаем его с оффициального сайта: https://getcomposer.org.
Установка Windows версии достаточно проста: нужно указать путь к нашему php.exe и установщик всё остальное должен сделать сам. Однако тут возникла первая трудность:
Ошибка:
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_curl.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_gd2.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_interbase.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_mbstring.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_mysql.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_mysqli.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_openssl.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_pdo_mysql.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_pdo_pgsql.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_pdo_sqlite.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_pgsql.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_soap.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_sqlite3.dll' - He найден указанный модуль.
PHP Startup: Unable to load dynamic library '/usr/local/php5/ext/php_xsl.dll' - He найден указанный модуль.
При этом в стандартной директории, где Denwer хранит все необходимые PHP библиотеки, все они на месте: c:/WebServers/usr/local/php5/ext
Проблема решается правкой файла php.ini, который находится по адресу c:/WebServers/usr/local/php5
Нам нужно вместо строки
extension_dir = "/usr/local/php5/ext"
написать полный путь к библиотекам:
extension_dir = "c:/WebServers/usr/local/php5/ext"
После чего необходимо перезапустить Denwer и снова начать установку Compose.
Однако после этих манипуляций я столкнулся с ошибкой отсутствующего модуля php_openssl, которая решается раскомментированием строки
extension=php_openssl.dll
в php.ini.
После очередной перезагрузки веб-сервера и повторного запуска установки - новая проблема:
PHP Startup: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20090626
These options need to match
Проблема говорит о том, что версия модуля openssl не соответствует версии PHP. Решается путём скачивания более старой версии php_openssl.dll - 5.3.18. Скачанный файл нужно поместить в директорию c:/WebServers/usr/local/php5/ext, заменив оригинальный php_openssl.dll.