В этой статье я поделюсь своим дзеном в области бэкенда с начинающими инженерами-программистами. Это может быть полезно например для милых дам, или для детей 12+, которые прочитали учебники, но таки не осилили стандартные фреймворки и архитектуры
https://habrahabr.ru/post/322204/
Задача — разработать клиент-серверную программу для сохранения знаний в виде дерева-иерархии документов (как в библиотеке), максимально простую и удобную, чтобы справились даже дети 12+ и очень пьяные инвалиды.
Ничего личного, но у автора какие-то странные отсылки к детям 12+
скрипт прокатит если у вас все однотипное.
А если мне к примеру на один сервер нужно добавить проекты на
Symfony
Laravel
Phalcon
Wordpress
Bitrix
то скрипт не поможет т.к. для каждого случая свои настройки
И выйдет что разделить на 2 сервера проекты на Laravel,Symfony,Phalcon (nginx+php7.0-fpm), а на другом — Wordpress и битрикс (nginx+apache+php5.6) будет оптимальнее чем настраивать все на одном
В прочем да, холиварить незачем, всему свое место и возможно просто субъективно ваше решение мне не подходит, а кто-то ищет именно его
это дополнительные материальные затраты на обслуживание.
Да, но это уменьшит время на поддержку — настройки не такие запутанные — настраивать и обслуживать быстрее и проще
В итоге получится максимум 2 сервера на которые поместится и будет работать все — один со связкой nginx+php7.0-fpm
второй — nginx+apache+php5.6
что по стоимости с учетом нынешних тарифов выйдет не так много, а настройка и поддержка каждого будет проще
Ок, на шаред-хостинге наличие apache+nginx еще оправдано. Ну или в случае с битриксом, но это специфичный случай.
Лично мне кажется что если есть доступ к серверу — лучше не извращаться, а сделать с новым ПО и не ставить лишнего, оставив лишь связку nginx+php7.0-fpm — для подавляющего большинства фреймфорков и cms на php этого хватит.
Нужно несколько приложений поместить которые работают на старой версии — переписать чтоб были совместимы, либо вынести на отдельный сервер поменьше и не путаться.
Стоить обратить внимание на строку --prefix=/opt/php/php-5.6.18
Действительно стоит — почему не 7 версия?
И зачем там апач?
Мануал судя по всему скопипащен откуда-то из весьма устаревшего источника, для новичков скорее вреден чем полезен
добавьте туда пакет vlucas/phpdotenv, настройте и производительность резко просядет. В принципе любой сторонний пакет резко бьет по производительности phalcon
лично по моим наблюдениям его круто применять в тех местах, где все можно реализовать только его средствами, например в апишках — тогда профит будет ощутимым
если какую-либо задачу ваши библиотеки позволят решить быстрее и эффективнее чем существующие инструменты — то почему бы и нет
правда пока что этого особо не видно — нет примеров реальных приложений, лично я пока не могу представить где ваши творения использовать
Делаем его слабосвязанным набором библиотек, так, чтобы каждую либу можно было подключить и использовать отдельно.
Стараемся сохранять здоровый минимализм там, где это возможно
Сам каркас для веб- и консольных приложений — тоже одна из библиотек, тем самым мы избегаем монолитности.
Стараемся не изобретать велосипеды и максимально сохраняем те подходы и тот код, которые уже зарекомендовали себя в T4.
Отказываемся от поддержки устаревших версий PHP, пишем код под самую актуальную версию.
Стараемся делать код максимально гибким. Если можно — вместо классов и наследования используем интерфейсы, трейты и композицию кода, оставляя пользователям фреймворка возможность заменить эталонную реализацию любого компонента своей.
Покрываем код тестами, добиваясь 100% покрытия.
все там уже есть
А чего нет — можно взять компоненты Symfony, Zend, Laravel и кучу нужных библиотек
а можно пример? бегло пробежался по репозиториям — вроде все норм
цитата оттуда:
https://habrahabr.ru/post/322204/
Ничего личного, но у автора какие-то странные отсылки к детям 12+
вот правильная — https://github.com/amphp/websocket
или же опечататься в /etc/sudoers как я сделал относительно недавно и после восстановления, слава Ктулху, пустого сервера узнал о существовании visudo
А если мне к примеру на один сервер нужно добавить проекты на
то скрипт не поможет т.к. для каждого случая свои настройки
И выйдет что разделить на 2 сервера проекты на Laravel,Symfony,Phalcon (nginx+php7.0-fpm), а на другом — Wordpress и битрикс (nginx+apache+php5.6) будет оптимальнее чем настраивать все на одном
В прочем да, холиварить незачем, всему свое место и возможно просто субъективно ваше решение мне не подходит, а кто-то ищет именно его
Да, но это уменьшит время на поддержку — настройки не такие запутанные — настраивать и обслуживать быстрее и проще
В итоге получится максимум 2 сервера на которые поместится и будет работать все — один со связкой nginx+php7.0-fpm
второй — nginx+apache+php5.6
что по стоимости с учетом нынешних тарифов выйдет не так много, а настройка и поддержка каждого будет проще
Лично мне кажется что если есть доступ к серверу — лучше не извращаться, а сделать с новым ПО и не ставить лишнего, оставив лишь связку nginx+php7.0-fpm — для подавляющего большинства фреймфорков и cms на php этого хватит.
Нужно несколько приложений поместить которые работают на старой версии — переписать чтоб были совместимы, либо вынести на отдельный сервер поменьше и не путаться.
а смысл? не проще ли тогда просто использовать шаред-хостинг и не возиться с подобной настройкой?
С этого и надо было начинать т.к. весьма специфичный случай
Так и сделали бы мануал с оглядкой на это (если конечно чудо-битрикс совместим с php7.*), зачем учить ставить устаревшее ПО?
Действительно стоит — почему не 7 версия?
И зачем там апач?
Мануал судя по всему скопипащен откуда-то из весьма устаревшего источника, для новичков скорее вреден чем полезен
Хороший пример показан здесь
лично по моим наблюдениям его круто применять в тех местах, где все можно реализовать только его средствами, например в апишках — тогда профит будет ощутимым
правда пока что этого особо не видно — нет примеров реальных приложений, лично я пока не могу представить где ваши творения использовать
все там уже есть
А чего нет — можно взять компоненты Symfony, Zend, Laravel и кучу нужных библиотек