Composer и Denwer

Composer и Denwer проблемы ошибки dll при установке С фреймворком Yii я не работал почти год, а тут выдался свободный вечер и чтобы освежить свои знания решил установить Yii 2. Посмотреть, что там нового придумали или усовершенствовали. Итак перед нами ноутбук с Windows 7 на котором я ранее не работал с Yii, Symfony и Lavarel. Привычка вторая натура, скачиваю и устанавливаю Git 2, Denwer 3 и пакет расширений для PHP 5.3.13 (хотя нужно минимум 5.4). Захожу на официальный сайт Yii, но через git можно установить версию 1.1.14, а 2 Beta только через Composer.

Установка Composer в Denwer

Всё просто, скачиваем с официального сайта Composer и при установки выбираем файл php.exe который находится в директории c:\WebServers\usr\local\php5\ ,если конечно вы не меняли название корневой папки WebServers и диск C.

Composer ошибки

Что-то не понравилось этой софтине и при установке начали сыпаться ошибки:

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 найден указанный модуль.

Проверил директорию c:\WebServers\usr\local\php5\ext\ все dll на месте, в файле php.ini все нужные строчки раскомментированы.

extension=php_curl.dll
extension=php_gd2.dll
extension=php_interbase.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll

Устранение Проблемы с .dll при установки Composer

Поискал некоторое время решение проблемы в интернете, но нечего путного там нет, люди ссылаются на якобы битые библиотеки, обратный слеш в пути ошибки «ext\», Path до директории PHP реестре Windows. Решил проблему с возникающими ошибками следующим образом. Ищем следующие строчки в файле php.ini

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "/usr/local/php5/ext"

Дописываем к extension_dir полный путь до дирректории с PHP расширениями и получается нечто такое:
extension_dir = «c:/WebServers/usr/local/php5/ext»
или
extension_dir = «z:/usr/local/php5/ext»
Делаем Restart Denwer и теперь Composer устанавливается без ошибок. В подтверждение метода вставляю скрин завершающего окна инсталлятора.

Composer Setup устанавливается без ошибок

Composer и Denwer: 29 комментариев

  1. Большое девелоперское спасибо! Долго не мог решить данную проблему, но благодаря Вам, это удалось. 😉

    • Пожалуйста, но лучше использовать OpenServer, чем Denwer — который не позволяет оперативно переключать версию PHP, Apache + ngnix, MySQL и выбирать другой тип БД. Как раз там проще разворачивать такие фреймворки как Yii 2.0

    • А библиотеки точно находятся по этому пути? Они присутствуют в этой папке?
      c:/WebServers/usr/local/php5/ext

      Можно строки ошибок опубликовать сюда? Какие Windows и Denwer используются?

  2. Большое спасибо! Заработало.
    НО теперь вылазит новая ошибка:

    «Some settings on your machine make Composer unable to work properly.
    Make sure that you fix the issues listed below and run this script again:

    The openssl extension is missing, which means that secure HTTPS transfers are impossible.
    If possible you should enable it or recompile php with —with-openssl»

    Я новичок. В этом не особо понимаю. Подскажите, что можно сделать. Поставить пытаюсь на Denwer. Зарание, спасибо!

    • Ошибка появляется при установке Composer под Denwer на каком шаге? Используется какой нибудь фаервол (firewall), может порты заняты, другие сайты из денвера открываются? Какая версия Windows XP/7/8?
      Если честно, я перешел пару месяцев назад на Open Server, он гораздо удобнее чем Denwer. Если нужна какая-то помощь или консультация, помогу с настройкой и установкой (продублирую это сообщение на почту).


  3. Дописываем к extension_dir полный путь до дирректории с PHP расширениями и получается нечто такое:
    extension_dir = «c:/WebServers/usr/local/php5/ext»
    или
    extension_dir = «z:/usr/local/php5/ext»
    Делаем Restart Denwer и теперь Composer устанавливается без ошибок.

    Ох! Спасибо огромное! Ни за что б не догадался, — тоже наконец-то composer установил (Denwer WinXP SP3)

  4. Также вылезла ошибка
    «Some settings on your machine make Composer unable to work properly.
    Make sure that you fix the issues listed below and run this script again:
    The openssl extension is missing, which means that secure HTTPS transfers are impossible.
    If possible you should enable it or recompile php with —with-openssl»
    Раскомментировал в php.ini строку
    extension=php_openssl.dll
    Перезагрузил Денвер, и компосер встал как надо

  5. Спасибо автору, статья с бубном помогла.

    Если после раскомментирования, у вас появляется ошибка «отсутствует php_openssl.php», значит вам необходимо доустановить доп. расширение для денвера.

    Идем сюда — http://www.denwer.ru/packages/php5.html
    скачиваем пакет
    останавливаем денвер
    ставим поверх старого ядра, новые модули
    Обязательно: снова открываем Php.ini и вносим первоначальные правки, так как после завершения установки инсталятор затрет ваш php.ini своим.

    Запускаем денвер и радуемся жизни

  6. Огромное тебе спасибо дружище, очень помог. Уже и не знал что делать, потратил уйму времени и уже хотел забить на Yii2(. Эту статью нужно добавить на оф сайт денвера в раздел частых вопросов.

  7. Спасибо большущее! Час потратил в поисках — столько мути в инете пишут, вообще суть проблемы не понимают, а советуют. Но вы не такой, вы не такой, они все такие, а вы не такой)) От души!

  8. Спасибо за информацию автору статьи! Спасибо за комментарий Виталию (Виталий говорит 2016.01.26, 13:20 в 13:20:).

  9. Здравствуйте
    После того, как я прописап полный путь к папке «/ext» установщик начал находить все dll-файлы, но возникла новая проблема. Возник конфликт с файлом php_xdebug. Знающие люди посоветовали прописать полный путь к этому файлу. Прописал, и получил вот такое сообщение:
    The PHP exe file you specified did not run correctly:
    F:\TestServer\usr\local\php5\php.exe

    Program Output:
    Failed loading F:\TestServer\usr\local\php5\ext\php_xdebug-2.2.0-5.5.9-vc11.dll
    Failed loading F:\TestServer\usr\local\php5\ext\\usr\local\php5\ext\php_xdebug-2.2.0-5.3-vc9.dll
    На мой взгляд, всё дело в путях. Если посмотреть на вторую строку программного вывода, то видно, что установщик ищет php_xdebug совсем не там, и не то, что указано. Совсем не представляю, как разрулить проблему. Может у кого-нибудь есть конструктивная идея?

  10. Спасибо автору.
    Возможно ещё будет ругаться на отсутствие файла по пути «\usr\local\php5\ext\php_xdebug-2.2.0-5.3-vc9.dll», так же в php.ini ищем секцию «zend_extension» и меняем то, что есть на: zend_extension=»C:\WebServers\usr\local\php5\ext\php_xdebug-2.2.0-5.3-vc9.dll»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*