Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Выбор сборки для PHP

оброго времени суток, какую сборку лучше выбрать для работы с PHP, если учесть, что я только начал его учить. Какая проще в работе и достаточно функциональна для моего уровня (нулевого).

Приоритетом так же является возможность работы в оффлайне, то есть полностью отрезанным от интернета. так как из-за характера нынешней работы такие перебои со связью могут длиться 4-5 месяцев.

Вообщем посоветуйте, что выбрать из встроенный в PHP 5.4+ веб-сервер (справедливо ли это так же для PHP 7?), Web Platform Installer, Zend Server CE, XAMPP, WAMP и Denwer.

ЗЫ (где то читал мнение, что Denwer несколько устарел, в особенности касательного нового php, так ли это?)

Заранее спасибо за ответ.

Еще хотел спросить, выбор сборки же в принципе не повлияет на само обучение, и в дальнейшем процессе я смогу пересесть и на другую сборку? или в них есть какие-то кардинальные различия?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Правильный путь — поставить дебиан, поднять LEMP самому по гайдам.
Быстрый путь — поставить OpenServer на любую ось, скачать шторм и можно начинать работу.

-

ставишь отдельно апач2.4, пхп 5.5+, базу на выбор.
немножко работы руками в сонфигах и норм.

главное смотреть, чтоб у апачи и пыхи был одинаковый VC**

с апачем 2.4 не заведется.

Я решил остановиться на том, что поставлю Linux рядом с Виндой и попробую поставить LEMP сам. Думаю будет интересно .

Изначально думал, что народ будет более единогласным, оказалось есть море путей и возможностей).

старт на вид правильный. но если линух не знаете — то есть риск что энтузиазм уйдет в процессе "

поставить LEMP сам
"

а дальше, но уже уныло, придется ведь учить и то ради чего ставили. и глядишь, через месяц-два случится частая история — та ну его все нах.

я часто это говорю новичкам и осаживаю опытных — психологический момент для изучающего в одиночку — крайне важен. ему некому подсказать, его никто не похвалит за успех — а уныло осваивать что-то — результат будет пшик.

как в любом освоении важна психологическая подпитка маленькими успехами.
а при изучении программирования самостоятельно — это только когда используешь «метод прогрессивного джипега» www.artlebedev.ru/kovodstvo/sections/167
поставил сборку — запустилась — ура!
написал файлик php с двумя строчками — ух ты, показывает!
а два файлика?

закопаться же в изучении команд и опций git`а можно :)
только пока не столкнулся с кейсами в сложных проектах — бОльшая часть их вылетит с головы.

вобщем интересно конечно, посмотреть на сколько вас хватит, если пойдете по «правильному пути». особенно учитывая что бОльшая часть советующих его — шла другим путем.

«Взрослые не помнят как стали взрослыми, а поэтому ни шиша не знают о том — как помочь детям повзрослеть»

Як людина, що самостійно вивчає все, що потрібно зараз для влаштування на роботу php-програмістом, цілковито з вами згоден. Я здатен сидіти 12+ годин за кодуванням тільки якщо я стрімлю це на лайвкодинг :) А так постійно собі влаштовую цикли «ціль — нагорода — ціль — нагорода»

Я б рекомендував ставити віртуальну машину, а не фізично як 2 паралельні ОС.
Якщо віртуальна машина, то одразу потренеруєшся працювати як із віддаленим сервером. ssh, ftp , мінімальна настройка хостів (замість банального localhost)
Virtualbox і в ньому лінукс чудово працює (в мене ubuntu для таких цілей)

1. Ставишь linux. Чтобы выглядел как винда — либо Linux Mint (простой путь), либо на Ubuntu поставить Cinnamon (сложнее, нужно нагуглить команду). Там старая добрая кнопочка пуск будет, и внешний вид схож. Ты можешь конечно не хотеть ставить линукс на свой комп. В таком случае ставь на виртуалку (только памяти в комп сунь сколько можешь, виртуалке надо будет дать довольно много). Советую vmware player, так как в нем 3d-ускорение дружит с хромом, а вот в последнем VirtualBox — нет. А без 3d-ускорения хром мне показался медленноватым.
2. Читаешь как настроить LEMP-стэк. Вот например туториал www.digitalocean.com/...utm_source=legacy_reroute (DO вообще молодцы в плане туториалов)
3. По поводу офлайна — не знаю даже, тебе понадобится как минимум мануал. php.net/download-docs.php Еще какие-нибудь книги, не знаю есть ли сейчас что хорошее. Можно вот этот репозиторий скачать github.com/...codeguy/php-the-right-way
С оффлайном может вылезти проблема, если понадобится какой-нибудь модуль, который не установлен.

Чем это лучше денвера — у тебя будет такое же окружение, как на типичном сервере. И не так страшно потом будет на реальный сервер свои скрипты заливать.

LAMP можно руками собрать в таком случае. В случае проблем, при отсутствии интернета и наличии времени, в конце-концов у тебя будут исходники :-)

ЗЫ: Куски Ubuntu терь в Windows 10 почти из-коробки, можно этим путем пойти.

Для меня собирать из исходников пока экстремальненько :)

ЗЫ: Куски Ubuntu терь в Windows 10 почти из-коробки, можно этим путем пойти.
Может быть, не знаю. Я пришел к варианту с виртуалкой после того как заинтересовался фронтом на ember.js. Как-то наверное можно всё и в винде поставить и настроить, но под убунтой кажется проще.

Там в Annyversary Update 10-ки прелетело: www.howtogeek.com/...ndows-10s-new-bash-shell - это та же убунта, каким-то хитрым способом запущенная из под винды. С языками программирования не пробовал, но, например, ssh вполне себе работает. По идее с PHP/node должно быть ок, оно для этого скорее всего и задумалось.

Для учебы (windows) — самое оно. Присутствует удобный конфигуратор для выбора версий php, apache, mysql, легко настраивать виртуалхосты и т.д.

даже не представляю что может устареть в денвере. По сути дела это просто скрипт . Меняешь версию пыха на новую и все дела. Зато он самый удобный и компактный.
Пользуюсь им с начала его существования и не вижу причин не пользоватся в дальнейшем.

В этой теме я неожиданно узнал о том, что денвер умер (ну или очень плохо пахнет). Взгрустнулось. Покойся с миром, старый боевой товарищ. Шапки долой!

Помним, любим, скорбим :(

Для того щоб почати вчитися підійде люба. Бери ту яка легко поставиться і все запуститься.

Denwer
легко поставити. Але він дійсно міг устаріти.
Раніше я його всім рекомендував .

У нього немає ще любої, він тільки почав обирати...

поставить себе linuxmint/ubuntu, взять любой мануал по установке php и радоваться жизни

если винда, то — OpenServer, а так еще есть xampp и менее известный легковестный uwamp ( www.uwamp.com/en/?page=download )

Linux Nginx MySql(только 5,7 или PostgreSql) PHP7
Лучше пораньше попробуй сам всё это настроить. Сборки — говно

Полностью поддерживаю. Лучше сразу начинать с той среды на которой будет крутиться сайт или приблизительно той. Выбери себе линукс, какой по душе, благо их много(советую Убунту. так как много мануалов по настройке для начинающих). И ставь по очереди руками или пробуй докер имейджи. Сам начинал с винды, но после перехода на линукс, жизнь стала лучше, а разработка продуктивнее, работа с командной строкой легкой.

Лучше сразу начинать с той среды на которой будет крутиться сайт или приблизительно той.
спорный вопрос :)

знать ее придется конечно. но вот нужно ли начинать с нее...

php как и другие ЯП высокого уровня — вообще-то призваны избавить программиста от свойств конкретной среды.

это можно даже как тест взять — если сайт проблемно переносится на апач и винду — то что-то с ним не так. наоборот да, только отличие прав на файлы в винде и линухе может вызвать головняк у неопытного.

а разработка продуктивнее, работа с командной строкой легкой.
у программиста основное время на мониторе — текстовый редактор или IDE.
как работа в линух может ускорить разработку? и тем более — работа с командной строкой?

писать и отлаживать код — вот же главные затраты времени у программиста.

поднять свое приложение в AWS? да, может стать проблемой.

но я бы все-таки различал специализации — программиста, девопса и системного инженера.

Я высказал свое мнение. Я тоже начинал с винды и сборок. И теперь уверен, что если бы пришлось снова начинать, взял бы сразу линукс. Так как все равно нужно его знать(как вы и написали). Работая с различными фрейморками часто нужно выполнять консольные команды+работа с кроном + демоны + редис + раббит, да и вообще для пхп линукс — это родное, жаль, что когда я начинал, мне никто этого не подсказал) на счет IDE.

Я высказал свое мнение.
И? ну высказали, и что — оно значит истина? или запрещается возражать?

а я высказал свое мнение. а потом свое мнение на высказанное вами.

потому что это типично: причем вы подтвердили:

Я тоже начинал с винды и сборок.
И теперь уверен,
и пояснил — почему эта уверенность — пустопорожняя.
Работая с различными фрейморками часто нужно выполнять консольные команды
часто — это зачем?

приведите типичный кейс разработки, который вас часто вынуждает выполнять консольные команды.

работа с кроном + демоны + редис + раббит
? то есть вы девопс?

зачем вам во время разработки часто дергать крон, тушить поднимать демоны?
а с редисом что не так?

и, раз уж почему вам приходится часто это делать — то почему не автоматизируете это, не напишите скрипты которые для ваших кейсов все это делают?

да и вообще для пхп линукс — это родное
и чем он — родной линуху? ;)

поясните, очень интересно.

настроить окружение — это понятно.

а разработка на ЯП php — чем отличается на линух, винде и яблокооси?

Например, сейчас у меня есть проект на симфони, и ДА мне часто приходится выполнять консольные команды (очистка кеша, обновление базы, загрузка фикстур, миграции, деплой и т.д., как минимум при создании новой ветки или пулле...) и не только выполнять, а и писать свои, чтобы автоматизировать другие задачи). Демоны юзают не только девопсы))) вы раболи с очередями или с микросервисами, с докером. Кстати последний на винде(как и на яблоке) до недавнего времени можно было настроить только костылями через виртуалбокс, а под линуксом легко. Конечно, если юзать цмсы, то наверное это все и не нужно. Еще большая проблема в том, что если нужно что-то подстроить под себя(изменить конфиги пхп, постгреса и т.д или поменять версию, то наталкиваешся на проблемы реализации самих сборок, в которых зачастую версии вшиты или ограничены или конфиги специфично собраны (не так как оригинальные конфиги) или невозможно добавить другие модули. компоненты, драйвера или добавление ограничено версиями и нужно ждать обновление самих сборок). И самое главное, СПЕЦИАЛЬНО сделал акцент на том, что высказал свое мнение, а не говорил, что это истина. Для себя я давно сделал выводы. И не нужно называть их — пустопорожними — я ваше мнение не оскорбляю, заметьте — хотя оно тоже не претендует на истину. Всего вам доброго...

ТО есть
Написали пару строк кода, решили посмотреть и
В консоли вбиваете — очистить кеш, обновить базу, сделать миграции, рестарнуть пяток сервреров.
Потос опять возврашаетесь в редактор, написали пару классов — и снова в консоль, и опять?
И при чем тут симфони?
Микросервисы и mq очередя да, может быть проблемно поднимать под виндой, просто потому что иногда бинарных сборок нет, а собрать из исходиков под винду, та еще задачка может оказаться

Про подстроить под себя — тоже непонятно. Потому что тезис был обратный, окружение как на проде, а не как себе хочется.

Пустопорожнее мнение — в данном случае, это когда чел взбирался как и по серпантину, а оглядываясь советует взбираться по прямой. То есть когда у него нет личного опыта прохождения маршрута предлагаемым способом.

Пустопорожнее мнение — в данном случае, это когда чел взбирался как и по серпантину, а оглядываясь советует взбираться по прямой.
Да советую по прямой, оглядываясь на опыт. Имхо лучше учиться на чужих ошибках, чем на своих. Скажите, есть две догори, прямая и в обход, какой вы пойдете?... Примеров из жизни много. Я стараюсь применять проверенные практики и инструменты, а также опыт других разработчиков и свой личный.
Про подстроить под себя — тоже непонятно. Потому что тезис был обратный, окружение как на проде, а не как себе хочется.
Потому что на проде не всегда конфиги стандартные. Имел в виду под себя — под прод.
И при чем тут симфони?
Имел в виду эти команды symfony.com/...t/components/console.html. Очень хороший инструмент в том числе для CI
Да советую по прямой, оглядываясь на опыт.
при том что большинство и до вас поднимается по серпантину :D
Имхо лучше учиться на чужих ошибках
если подавляющее большинство поднимается по серпантину, то впору называть это не ошибкой, а каким-то фундаментальным ограничением на методы подъема.
а также опыт других разработчиков
подавляющее большинство начинали с вывода «Hello world», а не разворачивания кластера. Но вы считаете что это большинство совершило ошибку. тогда непонятно на опыт каких разработчиков вы опираетесь.
Очень хороший инструмент в том числе для CI
да, неплох. как и прочие генерирующие программный код. при чем тут линух? в винде phar приложение работает как-то по другому?

я вас спросил о соотношении времени между сидением в редакторе или IDE и в консоли с командной строкой, и почему вам при программировании нужно стопицот раз делать руками, в командной строке:

очистка кеша, обновление базы, загрузка фикстур, миграции, деплой и т.д., как минимум при создании новой ветки или пулле..

О кластерах не говорил. Hello World — так все с него начинают.
Я еще раз повторюсь. я не навязываю свое мнение, просто его высказываю. Не нравиться не берите в голову, проходите мимо, не для вас писал... Можно спорить вечно, я свой выбор сделал. Им и поделился с человеком, просившим совет. Не вижу смысла тратить больше время попусту, вам все, что не скажешь —

Пустопорожнее
. Всего хорошего.
проходите мимо, не для вас писал..
так я тоже не для вас писал, а для топикастера.
я свой выбор сделал.
раз вы начинали как все, то о каком вашем выборе речь?
Им и поделился с человеком
я тоже поделился мнением о том профи нередко предлагают рецеппты которыми сами не следовали. и поэтому эти рецепты — пустопорожние. домыслы. и неизвестно, как бы у них самих самих, когда были начинающими, не порвалась бы мошонка от — а ну ка давай сразу на шпагат!
вам все, что не скажешь — Пустопорожнее
и привел аргументы. с вашей стороны что? какие-то обидки?

А самостоятельная сборка без опыта значит лесными ягодами пахнет?

vagrant+vb і там розгортати все (howtoforge, digitalocean community в допомогу), що потрібно під конкретну задачу. інакше перейти поріг вордпресів і «сайтців» на якомусь фреймворку без найменшого розуміння роботи сервера, буде важко. бо тут всі якось так пишуть про збірки, ніби підняти сервер на апачі з пхп і мускулом якась супер задача і треба мати 10+ років досвіду, а початківцям ніяк ;)

Але по витратах часу — навіщо кожному джуну все це знати, коли можна і в продакшені віддати це питання адміну. Навіть сеньйорам воно не потрібно, бо все це — типові дешеві операції, які легко піддаються розподілу праці.

Так, підняти той самий апач — це задача не на один день, якщо перший раз. Почитай документацію, прозрієш скільки лайна туди налито, а гуглити — це ще більше лайна. Набагато простіше взяти вже готові збірки, які підходять під типові задачі, а вже коли захочеться чогось особливого (якщо взагалі) — то RTFMити конкретні розділи.

Простеньке питаннячко — як налаштувати права доступу к файлам для апача? Спробуй його пояснити хоча б на 2 сторінки, і це буде навіть не лікбез. А ще пам′ять, порти, таймаути, форки, один тільки htaccess чого вартий...

Я написав це саме але лаконічніше

поріг вордпресів і «сайтців»

І в цьому сегменті є свої джуніори і сініори і їм дійсно це не треба.
Але ок, я сперечатися не буду. Часу не маю. Мені ще два дні апач піднімати і потім місяць права роздавати ;)

Поріг вордпресу насправді є досить високим саме через його поширеність. Його ну дуже часто намагаються зламати, і нерідко успішно. Тому найкращий варіант — це таки готові збірки стабільних версій. Де інсталяційний скрипт сам усе зробить як задумано. А ті користувачі що знайдуть багу — мають куди її отписати.

Чомусь по багах пишуть досить немало, і нові версії виходять. Може через те, що цей софт дійсно складний, і лише у руках професіонала здається простим.

Если на винду — OpenServer без вариантов. Всё счастье из коробки, конфигурируемое из одного места, и цена недорого [ваша любимая цена, если точнее].

Халява не есть решающим фактором, Сэр!

Laravel Homestead должен нормально зайти

Все эти сборки постоянно отстают от мейнстрима. И потом проблемы начнутся при выкладке приложения на рабочий сервер. Имхо сразу надо учится конфигурировать стек. Иначе, будет просто стыдно перед заказчиком и работодателем. когда успешно в срок сделали проект, но не смогли выложить его на сервер. И линукс, обязательно. Либо чистый. Либо вагрант, если уж так виндовс любите. Без минимального знания, сервер не поднимите. Заведите виртуалку на DigitalOcean и играйтесь. В чем плюс этого хостинга — огромное количество всякой доки и даже на русском.

Спасибо за ответ. на данном этапе ни о каких заказчиках речи и быть не может, я просто начинаю учить язык, а конечной целью не есть заработок, пока во всяком случае. Не то, что бы я сильно виндовс любил, но как-то притерся к нему). А надо будет поставлю и линукс, что делать). Виртуалка на Digital Queen в офлайне работает?

Digital ocean это обычный хостинг. Его я привел просто в качестве примера. По своему примеру, я сам начинающий, скажу что эти вещи нужно учить сразу. Умение настраивать серверы и выводить в продакшн — это обязательное знание бекэнд разработчика. Их частенько спрашивают на собеседовании. И поэтому я рекомендую учить эти вещи сразу правильно. Если нет возможности работать в онлайне, возьмите ноут, поставие линукс, т.к. Это рабочий инструмент разработчика. Поставте PHP, apach./nginx, MySQL. Пропишите виртуальные хостинги в конфигах и работайте локально. Да, вы потратите в гугле неделю. Работать сразу ничего не будет. Но когда заработает вы получите достаточно большой опыт. И потом переходите к докерам вагрантам. Будете уметь строить за полчаса любую систему. Какую захотите, без разницы, в офлайне или нет.

так и сделаю, во всяком случае попробую). Спасибо.

Рекомендую подивитися на якусь готову збірку vagrant box.
Я використовую homestead для laravel і Symfony проектів. Також він прекрасно підійде і для звичайних проектів.
Там уже все є, що треба для повноцінної розробки складних проектів + легко додаються нові віртуальні хости.
Один раз варто витратити півдня, щоб розібратися як це все працює, а потім насолоджуватися тим, що довгі і рутинні операції виконуються правкою кількох рядків конфігу.

Бери open-server.ru — имхо самое лучшее решение на сейчас. PHP 5.2 — 7.0 на выбор. То же самое с апачем, мускулом и прочим. GUI, конфиги норм для разработки из коробки. Я им пользуюсь несколько лет. Вагрант и докер для новичка тяжелы, денвер — умер.

Выбор сборки — не влияет, пересесть — легко.

Взагалі працюю з Open Server, все подобається.

Xampp — прост, легко обновлять по частям, если нужно.
Wamp — автор попытался избавить от правки конфигов. В итоге вышло так себе — а конфиги все равно знать придется.
Denwer — еще жив?

Остальное из списка — когда вы точно понимаете что оно вам даст.

Так что для начинающего XAMPP — самое то.

Встроенный сервер — для мелочей. Апач все равно надо знать. Шаред хостинги обычно на нем.
Nginx с php-fpm — потом, когда сможете понимать разницу, а не прописывать магические настройки с доки

Переход на другую сборку потом — не проблема. Потому что — собрать типичный LAMP сервер — обязан уметь даже трейни.

Підписатись на коментарі