LINUX.ORG.RU

Почему у dev-lang/php нет USE-флага nginx?

 , ,


0

1

Но есть USE-флаг apache2…

Если я правильно понимаю, то это как-то связано со сборкой модуля mod_php для apache? В то время как в nginx нет таких модулей, там всё через fast cgi и PHP-FPM ?

★★★

Последнее исправление: Shushundr (всего исправлений: 1)

Потому что не существует модуля php для nginx. Nginx работает с php посрдством php-fpm или любого другого сервера приложений.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от MaZy

я думаю, что mod_php может работать с PHP-FPM, то есть так же, как и в nginx (то есть не хуже). Но может и по-другому, то есть быстрее.

Shushundr ★★★
() автор топика
Ответ на: комментарий от Shushundr

Если бы mod_php не был бы чем-то лучше, то следовало бы удалить mod_php и флаг USE=«apache2», потому что в таком случае он не нужен.

есть же https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
https://httpd.apache.org/mod_fcgid/

Shushundr ★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 2)
Ответ на: комментарий от Shushundr

mod_php это модуль для вебсервера apache. Он не работает ни с чем другим. Для nginx есть другая штуковина, php-fpm, которая в генте должна быть.

Нет, mod_php не может работать с PHP-FPM.

goingUp ★★★★★
()

Apache может выполнять функцию сервера приложений, а nginx по задумке авторов в чистом виде reverse proxy

annulen ★★★★★
()
Ответ на: комментарий от Shushundr

Если бы mod_php не был бы чем-то лучше, то следовало бы удалить mod_php

mod_php(+Apache) и php-fpm - это два разных сервера приложений. Не надо никого удалять.

annulen ★★★★★
()

У разработчиков nginx есть и свой сервер приложений - NGINX Unit. Там и php есть, в том числе.

annulen ★★★★★
()
Ответ на: комментарий от annulen

Почему я узнаю́ о таком способе на форуме, а не могу прочитать на странице документации https://wiki.gentoo.org/wiki/PHP ?

Shushundr ★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Black_Shadow

Но я-то устанавливаю на gentoo, а не где-нибудь ещё. Не на каком-нибудь там Debian.

Вот какой мне надо USE-флаг выставить, чтобы установка прошла с Nginx Unit ?

Shushundr ★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Shushundr

Если ты купил новый чайник на кухню, ты же не берешь технический паспорт своей квартиры в надежде найти там информацию о своем новом чайнике.

У php есть свои SAPI (Server API) - интерфейсы взаимодействия с другими программами. Вот в доке по пыхе и читай о них.

iron ★★★★★
()
Ответ на: комментарий от Shushundr

Мне кажется, gentoo тебе не нужен, раз ты такие вопросы задаёшь. use-флаги в большинстве своём - опции для скрипта configure. В случае с php там есть такая опция? Попробуй сам разобраться в этом вопросе. Если не можешь, или не хочешь, то, как я и говорил, gentoo тебе не нужен.

Black_Shadow ★★★★★
()
Ответ на: комментарий от iron

Если я купил чайник от модной компании ГентуВей-Китченваре, то я ожидаю инструкцию по подключению для различных стран и территорий, в которых Китченваре имеет представительства. Если она работает с областью NGinx-керия, то должно быть руководство на родном языке этого гордого горного народа.

В частности, если есть особый способ установки для NGinx, то к нему должен быть отдельный особый USE-флаг.

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

Shushundr ★★★
() автор топика
Ответ на: комментарий от Black_Shadow

use-флаги в большинстве своём - опции для скрипта configure.

Но необязательно. Ещё ебилды могут интегрировать софтину в систему по-разному в зависимости от USE-флагов. И это как раз наш случай.

Shushundr ★★★
() автор топика
Ответ на: комментарий от Black_Shadow

Если мне что-то не нравится, я буду всем рассказывать, какой gentoo недоделанный. И рекомендовать использовать NixOS. А багтрекер - это для тех, кому надо, чтобы ещё и работало.

Shushundr ★★★
() автор топика
Ответ на: комментарий от Shushundr

Если я купил чайник от модной компании ГентуВей-Китченваре, то я ожидаю инструкцию по подключению для различных стран и территорий, в которых Китченваре имеет представительства. Если она работает с областью NGinx-керия, то должно быть руководство на родном языке этого гордого горного народа.

Не корректный пример. Разработчики пыхи не выпускают пыху ГентуВей. Они выпускают под все поддерживаемые платформы. А гентушники уже ее адаптируют исходя из инструментов своего дистриба. И о возможностях пыхи взаимодействовать с другими прогами нужно смотреть на стороне пыхи и/или на сайте проги которая будет с ней взаимодействовать а не на сайте тех, кто ее адаптировал в конкретному дистрибу.

В частности, если есть особый способ установки для NGinx, то к нему должен быть отдельный особый USE-флаг.

Тебе уже выше объяснили, что юзе флаг - это переключатель. Если разработчики пыхи это не предусмотрели - «нечего и переключать» этими юзе флагами.

iron ★★★★★
()
Ответ на: комментарий от Shushundr

Почему я узнаю́ о таком способе на форуме, а не могу прочитать на странице документации

Потому что документация Gentoo не является учебником для разработчиков ПО или девопсов.

annulen ★★★★★
()
Ответ на: комментарий от iron

юзе флаг - это переключатель. Если разработчики пыхи это не предусмотрели - «нечего и переключать» этими юзе флагами.

твое видение мира узкое, я уже пояснил выше

Shushundr ★★★
() автор топика
Ответ на: комментарий от Shushundr

твое видение мира узкое

А твое - ошибочное)

iron ★★★★★
()
Ответ на: комментарий от Shushundr

Ну не признавать же, что мне больше всех надо?

Почему нет?

eternal_sorrow ★★★★★
()
Ответ на: комментарий от Shushundr

я думаю, что mod_php может работать с PHP-FPM, то есть так же, как и в nginx (то есть не хуже)

Чтобы работать с php-fpm, mod_php не нужен.

Если бы mod_php не был бы чем-то лучше, то следовало бы удалить mod_php и флаг USE=«apache2», потому что в таком случае он не нужен.

mod_php это устаревшая реализация пхп для веб-сервера, её поддерживают для совместимости с нубами, которые ставят себе апач и настраивают его по инструкциям из 90-х годов.

firkax ★★★★★
()
Ответ на: комментарий от firkax

php-fpm не для nginx, а для всего, это универсальный способ использования пхп в любых веб-демонах

Небольшая поправочка: не в любых, а тех, которые поддерживают протокол взаимодействия fastcgi. Пыху можно гонять через uWSGI.

iron ★★★★★
()
Ответ на: комментарий от iron

Я имел ввиду что любой демон может реализовать у себя fastcgi-клиент и пользоваться через него php-fpm. Собственно я так и сделал когда мне надо было к пхп обращаться из своей проги.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Собственно я так и сделал когда мне надо было к пхп обращаться из своей проги.

Интересненько. Ты делал свою реализацию бинарного протокола fastcgi в своей проге? Или юзал готовую реализацию?

Когда мне нужно было подобное я просто заюзал uWSGI запущенным в режиме HTTP сервера.

iron ★★★★★
()
Ответ на: комментарий от Shushundr

И рекомендовать использовать NixOS

Не волнуйся, там nginx тоже не умеет mod_php. Он нигде его не умеет.

Tsukasa
()
Ответ на: комментарий от iron

Ну да, а что в нём сложного? Отправляешь запрос (необязательно абстракции fastcgi-пакетов даже учитывать, просто в заранее приготовленном побайтовом шаблоне заполняешь поля и шлёшь всё одним блобом), потом принимаешь чанками ответ пока не примешь маркер конца. keepalive и мультиплексирование нескольких запросов в одном коннекте не делал, они только запутывают логику работы, но прироста скорости (при не сильно частых запросах через локальный сокет) не дадут.

Готовую реализацию я бы дольше интегрировал-адаптировал.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от Shushundr

Вот какой мне надо USE-флаг выставить, чтобы установка прошла с Nginx Unit ?

Ставь php-fpm лучше

goingUp ★★★★★
()
Ответ на: комментарий от Shushundr

В частности, если есть особый способ установки для NGinx, то к нему должен быть отдельный особый USE-флаг.

Такого способа нету. Как уже писали, FPM это FastCGI PHP Module, а не nginx php module. Еще у nginx сложный конфиг с кучей опций, совать туда автоматом php-fpm так себе идея.

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 2)
Ответ на: комментарий от Shushundr

Тебе никто ничего не должен. Запили ebuild.

xaTa ★★★
()
Ответ на: комментарий от Shushundr

В частности, если есть особый способ установки для NGinx, то к нему должен быть отдельный особый USE-флаг.


Он есть, называется fastcgi

madcore ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.