А зачем вы пытаетесь запустить php.exe? Ему необходимо передавать код для обработки. Это консольное приложение и обычным double-click вы ничего не сделаете
Удалить denwer и поставить Openserver.
Композер уже встроен внутрь openserver'a. Одна из самых удобных сборок под windows на сегодняшний день.
Либо самостоятельно ставить php, веб-сервер и прочие ништяки типа mysql, memcache и т.д.
asyaevloeva: вы не совсем правы. В приведенном вами абзаце описывается инициализация composer для нового проекта. Почему это в доке называется "установкой" - не очень понятно.
asyaevloeva: вообще я бы предложил вам в случае с windows попробовать виртуализацию. Например Docker(https://www.docker.com/ ). Как обладатель windows на домашнем компьютере - избавился от кучи головной боли перенеся всё окружение внутрь Docker'а.
В командной строке (conemu), которую вы запустите через openserver (prntscr.com/b8ksbs) будут доступны команды composer, git, ssh и т.д. Не надо ничего отдельно ставить.
Вы также можете добавить туда в закладки свою среду разработки, чтобы она запускалась через Openserver и внутри вашей IDE также были доступны все команды: php, git, ssh и т.д. Иначе могут возникнуть проблемы с запуском debug, например.
Николай: ух ты, docker на windows есть?
А удобно под ним работать вообще?
Я просто не представляю как можно работать, когда внутри рабочей машины есть еще одна виртуальная машина, куча рабочих столов, окна, сплошная путаница. Но докер, насколько я знаю, немного о другом. Поделитесь опытом докер под вин?
Кирилл Арутюнов: да, конечно есть. Скоро ожидается нативная поддержка(сейчас в бете). На данный момент работает через промежуточный слой с легковесной ubuntu(реально очень легкая, не сравнить с тем же вагрантом). Ставится всё легко и в одном дистрибутиве ( вместе с virtualbox и настройкой этой промежуточной виртуалки) Вот ссылочка на установку ( https://docs.docker.com/windows/step_one/ ). Описано подробно и проблем особых не возникало. А далее всё просто - разбиваем все необходимые сервисы ( можно тот же apache + mysql + php) по контейнерам, почти для всех популярных сервисов уже есть контейнеры с дефолтными настройками.
Докер - не виртуальная машина. Это сервис контейнеризации. Он позволяет создать контейнерное окружение, которое можно развернуть теоретически где угодно. Для веб разработки у вас получается тот же самый вебсервер, но внутри контейнера. У него есть свой ip и вы можете обращаться к нему как вы обращались бы к localhost в случае установки на вашей операционной системе. Но при этом у вас во-первых не запускается куча непонятных сервисов при старте винды, не происходит замусоривания (разные версии апача/nginx, всякие mySQL/postgres и тд).
Вы можете иметь сколько угодно конфигураций контейнеров для каждого проекта отдельно и запускать нужный проект просто поднимая нужную конфигурацию ( 1 команда).
P.S. Вообще начать пользоваться докером несложно. Нужно просто прочитать/просмотреть вот эти видео: https://training.docker.com/self-paced-training . Ну и желательно проделать всё то же самое, что делается на видео. После этого всё обычно встаёт на свои места.
Николай: занятно, спасибо! Надо будет разобраться с докером. Штука полезная и нужная, судя по тому, что она умеет. Недавно как раз лекции смотрел про докер, но думал, что это все только под линкус.
asyaevloeva: пока что не забивайте себе голову докером. Начните с простого — openserver'а. Потом будете себе усложнять настройку окружения и упрощать процесс разработки :)
asyaevloeva: на самом деле так только кажется. Там даже GUI есть для windows. Посмотрите видео по ссылке выше, повторите и разберетесь. Займет максимум день.
Зачем нужен докер:
1. На новой машине чтобы поднять всё окружение проекта достаточно поставить докер и запустить сборку. Не нужно устанавливать больше ничего.
2. Не нужно разбираться почему очередной сервис отказывается ставиться под конкретной операционной системой.
3. Работа с любым количеством проектов не делает каши из вашей рабочей операционной системы.
4. Лишает вас "удовольствия" от установки сервисов. Для большинства популярных сервисов уже есть официальные контейнеры, вы можете использовать их или сделать свой на основе имеющегося.
По сути докер позволяет для каждого сервиса(nginx, php, ...) создать маленькую виртуальную машину. И связать эти машины между собой. Вам остается лишь написать для каждого сервиса необходимые вам конфиги ( например конфиги ваших хостов в случае с appache) и указать, как контейнеры должны между собой взаимодействовать.
asyaevloeva: вы можете перенести со временем все существующие проекты, конфиги не приходится сильно менять для того чтобы в докере заработало.
По поводу нескольких проектов: у вас есть много разных докер контейнеров. Для каждого проекта есть свой набор контейнеров. Пусть у нас есть проекты А и Б с контейнерами а1,а2,а3 и b1,b2,b3 соответственно. Если вам понадобилось что-то в проекте А - вы запускаете контейнеры которые к нему относятся и делаете что вам нужно. Если после этого потребовалось перейти в другой проект - запускаете контейнеры b1,b2,b3. При этом первые три контейнера относящиеся к проекту А можно пока отключить.