• Объясните как работает php-fpm?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала почитайте что такое SAPI. Затем представьте что apache + mod_php разделили на web-сервер, который проксирует запросы на php-fpm и отдает статику, и собственно отдельный web-сервер который имплементит SAPI и выполняет запросы связанные только с php. То есть статику отдавать мы можем только через php. Суть примерно та же что и у apache2 + prefork + mod_php но оптимизированный только для работы с php. Так же можно поставить на фронт более быстрый и легковесный сервер который умеет проксировать запросы.

    То есть php-fpm это эдакий fast-cgi сервер который постоянно держит готовые для работы пул-процессов (сколько в пуле процессов настраивается, так же как и от какого пользователя их запускать и все такое прочее). Каждый новый запрос уходит в какой-либо процесс из пула, запрос отрабатывает, возвращаем результат тому кто попросил (web-серверу обычно). Если процесс падает (fatal допустим) - поднимаем новый.

    Принципиальной разницы между apache2+mod_php нету, просто упрощается инфраструктура. Наш web-сервер должен только уметь проксировать запросы и отдавать статику, а php-frpm вообще может быть на разных машинах (балансировщиком можно раскидывать запросы). Ну и сами понимаете, nginx + php-fpm будет быстрее обрабатывать запросы чем apache2+mod_php какой бы мы менеджер процессов не использовали в апаче. Минусов по сравнению с apache+mod_php я даже не могу предложить.

    А php-runtime не зависит от этого. Он один на всех, CLI, FPM, mod_php...
    Ответ написан
    7 комментариев
  • Как в Photoshop замнить белый на прозрачный?

    @s0rr0w
    Я использовал английский фотошоп, поэтому перевод на русский может быть не точным

    1. Отройте файл
    2. Если это была картинка, то сначала делаем Ctrl+A, Ctrl+X, Ctrl+V
    3. Ctrl+A
    4. В доке управления слоями на слое Layer 1 создаем Clipping Mask (внизу кнопка, где создать новый слой, удалить слой)
    5. Открываем док управления каналами Window > Channels
    6. В нем будут 4 слоя + наша маска
    7. Выбираем самый контрастный слой, например Red, остальные выключаем
    8. Делаем на этом слое Ctrl+A, Ctrl+C
    9. Включаем все слои, активным делаем нашу маску, Ctrl+V
    10. Правим яркость, контрастность, уровни на этой маске, добиваясь наиболее приемлемого результата.
    Ответ написан
    3 комментария