Не работает denwer после обновления php
БлогNot. Denwer 3 и PHP 5.5 — как их подружить?
Denwer 3 и PHP 5.5 — как их подружить?
Переход на PHP 5.4 и выше становится всё актуальней, хотя бы из-за этого:
Начиная с PHP 5.4 возможно использовать короткий синтаксис определения массивов, который заменяет языковую конструкцию array() на []
Однако многие по инерции сидят на Denwer, который версии PHP выше 5.3.13 на сегодняшний день не содержит. Выходов 2 — или переходить на альтернативные продукты вроде XAMPP, или, если вы верный сторонник Denwer, попытаться обновить PHP в имеющейся сборке этого пакета.
Предположим, что Denwer установлен со всеми настройками по умолчанию, как обычно и бывает.
Остановим его стандартным скриптом Stop Denwer, проверим, что виртуального диска z: в папке «Мой компьютер» не стало, если есть — выполним файл c:\WebServers\denwer\SwithOff.exe
Вот сборка PHP 5.5.9, которая сработала с последним опубликованным Denwer (PHP 5.3.13, MySQL 5.1, PostgreSQL 8.4 etc.):
Теоретически можно было бы и Apache обновить с 2.2 до 2.4, чем лепить какую-то сборку, но это может породить дополнительные проблемы — в Denwer полно всяких Perl-скриптов, привязанных к конкретной версии Апача.
Кстати, выложу и сам установщик Denwer, для тех, кому лень заполнять анкету на сайте:
Распаковываем сборку PHP 5.5.9 в отдельную папку. Старую папку C:\WebServers\usr\local\php5 переименовываем, например, в C:\WebServers\usr\local\php5.old , создаём новую папку C:\WebServers\usr\local\php5 и копируем туда всё, что развернули из архива, а файл php.ini скопируем из старой папки в новую, чтобы не возиться заново со всеми настройками.
Закомментарим в php.ini директиву allow_call_time_pass_reference , то есть, поставим точку с запятой перед ней:
Если на старте вылазят модальные окошечки с предупреждениями — установите Visual C++ Redistributal Pack посвежее вот отсюда, мне помогла именно версия 2012. Перезагрузитесь. Всё должно заработать 🙂
Источник
Не работает denwer после обновления php
Добрый день уважаемые читатели в прошлый раз мы с вами разобрали вопрос о ошибке: запуск этого устройства невозможен. (код 10) в Windows, к сожалению данная операционная система не идеальна и не лишена недостатков, которые могут препятствовать в функционировании различных программ. Сегодня мы с вами разберем вопрос, почему не работает denwer в Windows 10 и других версиях и как этого избегать в будущем.
Что такое denwer
Если кто-то еще не в курсе, что такое денвер, то давайте это исправим. Denwer > это программный комплекс, задачей которого является реализация на локальном компьютере:
- Web сервера
- Сервера баз данных
В состав denwer входят вот такие программы:
В 98 процентах denwer работает после установки у всех, но из-за различных сборок Windows или других вещей, о которых мы поговорим, вы можете попасть в 2 процента и у вас не работает denwer.
Принцип работы Denwer
Еще немного теории для новичков, так как я всегда перед тем как чем-то управлять стараюсь разобраться как это работает, и на мой взгляд это очень правильно, так как эти знания помогут понять почему не работает denwer в системе.
И так программы, которые у вас установились в нем вы видели. Принцип тут такой за счет службы Apache и баз данных MySQL вы можете установить вордпресс на денвер, поместив дистрибутив в каталог сайта и создав БД и все локально в рамках вашего компьютера.
И так есть папка C:\WebServers\home, по умолчанию это она. В ней вы будите создавать папку с адресом сайта, по которому вы хотите, чтобы отвечал сайт. При установке там уже есть папка test1.ru
Если вы откроете этот адрес в браузере, то увидите вот такой ответ, означающий, что сайт работает и страница index.html открылась корректно.
Как только вы создаете новую папку с адресом, вы перезапускаете Denwer, делается это для того, чтобы, он изменил содержимое файла hosts. Именно в файл hosts он добавляет записи о ваших адресах из папки home и линкует их на ваш локальный компьютер. Вот его содержимое. Как видите, доменное имя test1.ru ссылается на ip адрес вашего локального компьютера 127.0.0.1
Сделано это специально, для того, чтобы открыв браузер и обратившись по данному адресу вы попали к себе, а не наружу. Файл hosts для операционной системы Windows является более приоритетным, чем DNS сервер.
Думаю общий принцип работы вам ясен, тем более в статье про установку денвера я все подробно рассказал. Давайте разбираться, что может быть, если не работает denwer.
Почему denwer не работает
Отвечая на вопрос почему denwer не работает, можно выделить вот такие причины:
- Не доступны порты
- Не получается отредактировать файл hosts
- Не работает Apache
Ниже я подробно расскажу, как решается каждая из этих проблем.
Порты Denwer
Для успешной работы денвера, нужно, чтобы порт 80, так как по умолчанию denwer использует его. Именно из-за него в denwer не работает apache, так как орт просто кем, то занят.
[info]Я вам подробно рассказывал как определять какие программы случают у вас порты на компьютере, это было в статье про утилиту netstat и утилиту TCPView[/info]
И так если у denwer не запускается apache, проверьте вот какие вещи. При установленном на компьютере Skype, отсутствие вот такой галки: Использовать порты 80 и 443 для дополнительных входящих соединений. Найти ее можно в пункте Инструменты > Настройки
пункт Дополнительно > Соединение. Снимайте галку: Использовать порты 80 и 443 для дополнительных входящих соединений.
Кстати, даже после установки денвера, у вас откроется окно браузера в котором вам, так же апомнят про порты Denwer.
Если у вас после этого по прежнему не работает apache в Denwer, проверяем не занимает ли этот порт служба Internet Information Services (IIS). В диспетчере задач она может называться служба W3SVC (World Wide Web Publishing Service. IIS быстро находится с помощью TCPView. Если IIS вам не нужна то удалите ее, если нужна просто поменяйте в ней порт или выключите службу.
Удалить IIS можно в Панели управления > Программы и компоненты > Включение или отключение компонентов Windows, убедитесь, что не стоит галка Службы IIS.
Если у вас до сих пор не работает denwer, проверьте не блокирует ли его ваш антивирус. Так как в них есть встроенная функция firewall и убедитесь, что в брандмауэр открыт 80 порт. Открываем панель управления > Брандмауэр Windows.
Далее дополнительные параметры.
И в Правилах входящего трафика смотрим нет ли запрещающих правил, для 80 порта.
Думаю с вопросом, почему в denwer не запускается apache мы с вами разобрались, давайте рассматривать другие причины.
Denwer не работает localhost
Бывают случаи, когда денвер не может прописать в файле hosts локальную привязку, в следствии чего у вас в denwer не работает localhost, а это очень критично. Даже при установке вам должны вывести вот такое окно
Тут ключевыми словами выступают Success: the hosts file is marked as writable. что успешно удалось отредактировать его. Во первых удостоверьтесь, что вы работаете с учетной записью, у которой есть административные права. Проверить это легко, нажмите WIN+R и введите в окне выполнить lusrmgr.msc.
Откройте группы и найдите в списке Администраторы, щелкните по ней двойным кликом и удостоверьтесь, что ваша учетная запись тут присутствует.
Если вы администратор, то еще может препятствовать работе denwer, UAC (контроль учетных записей), в этом случае я вам советую скопировать файл hosts себе на рабочий стол из C:\Windows\System32\drivers\etc, отредактировать, а потом заменить им старый файл с заменой.
Если вылезет окно, что нет доступа к целевой папке, то жмем продолжить.
Еще бывают случаи, что нужно поправить реестр Windows, а именно открываем regedit в окне выполнить и делаем следующее:
процесс system висит на 80 порту PID 4
Надеюсь вам помогли мои методы, решения проблемы, когда не работает denwer в Windows.
Источник
Как обновить PHP на Denwer.
Если вы пользуетесь Denwer, то знаете, что обновления пакета происходят не так уж и часто. Если сам сервер нас может волновать несильно, то вот версия php может стать критичной проблемой. Вот о том, как обновить PHP на Denwer, мы сегодня и поговорим.
На самом деле, ничего трудно тут нет. Для начала вам нужно скачать thread safe версию php на сайте http://windows.php.net/download/. Советую качать 32-х разрядную версию, т.к. с 64-х битной у вас могут быть проблемы, да и эта сборка на данный момент является экспериментальной.
Теперь остановите сервер, используя скрипт stop.exe и switchOff.exe, дальше перейдите по пути usr/local/php5 и удалите там все бинарные файлы, заменяя их только что скачанными. Перезапустите Denwer.
Теперь в папке php5 у вас нет файла php.ini, однако вместо него есть php.ini-development и php.ini-production. Вы можете переименовать любой из них в php.ini и настроить сервер, как вам нужно. Не забудьте также посмотреть, чтобы была расскоментирована директива extension_dir=»ext», чтобы избежать проблем с подключаемыми модулями в будущем.
Вот так просто можно обновить версию php на denwer. Спасибо за внимание!
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Она выглядит вот так:
Комментарии ( 10 ):
Мне интересно, а Denwer 4 сколько лет планируют выпустить? А то там «в планах» такое сделать !! А результата нету
Обновлял но ничего не получилось.все ка написано в статье но при при открытия php файла показывает просто белую страничку браузера. В чем может быть проблема?
Посмотрите мой комментарий ниже.
Здравствуйте, Михаил. Все делаю, как Вы описали, но ничего не получается. Может что-то еще нужно сделать, о чем Вы не писали?
Михаил, в общем я разобрался с данной проблемой. Проблема была в том, что в всех сборках был файл php5apache2_4.dll, а на Денвере должен быть php5apache2_2.dll. Рабочий файл можно взять из сбоки на официальном сайте apachelounge.com/viewtopic.php?p=26798 (Сборка php-5.5.9-Win32-VC11-x86.zip). Единственное, я не удалял своего файла php.ini, а удалил в нем директивы: register_long_arrays=Off, magic_quotes_gpc=Off и ; allow_call_time_pass_reference. А extension_dir у меня такая extension_dir = «/usr/local/php5/ext»
Сделал как вы написали. PHP не работает. html файлы на локалхосте ещё как-то загружаются. А php — нет. Видимо придётся устанавливать какой-то другой веб сервер. PHP в денвере устарел. Слишком уж много на нём не работает. ))
Ну неужели нельзя по человечески обнову сделать php ? Делаешь все по инструкции а в итоге все нах слетает и оказывается что еще что-то надо менять добавлять. НЕ ОБНОВИТЕСЬ ЭТИМ СПОСОБОМ! ИТОГ ПЕРЕУСТАНОВКА ДЕНВЕРА!
Ну теперь вообще ни хрена не работает
В сборках PHP скачанных с php.net нет файла php5apache2_2.dll для старого апача v2.2 в денвере. В результате апач просто не запускается. Качайте PHP http://phpdev.toolsforresearch.com/php-5.5.9-Win32-VC11-x86.zip распаковывайте и будет вам счастье. https://www.apachelounge.com/viewtopic.php?p=26798 Более новые версии PHP: https://www.apachelounge.com/viewtopic.php?t=6359 требуют более нового OpenSSl: http://slproweb.com/products/Win32OpenSSL.html
Спасибо Сергей,всё обновилось.
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.
Источник