- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Задача: Смена версии PHP в режиме модуля Apache для отдельных виртуалхостов.
Какие способы есть внедрения однотипных модулей аля libphp5.so в Apache?
Можно создавать профили Apache (http://wiki.apache.org/httpd/RunningMultipleApacheInstances), но в этом случае и портов понадобится очень много и с точки зрения кодинга это сложновато, а самая главная проблема как раз в самих инстансах - тогда лимиты префорка будут на каждый инстанс, а не на все сайты пользователя сразу.
Пробовал также немного подправить исходники php, менять название модуля с php5_module на php55_module, например, и с application/x-httpd-php на application/x-httpd-php55 и аналогично для версии 5.6. Результат: модули подключаются по отдельности и работают нормально, а также подключаются вместе (при этом apache не выдает ошибки на самом этапе подключения), но падает с segfault:
Возможно, есть другие способы о которых я не знаю? :)
Никаких
Пользуйтесь cgi/fastcgi
куча апачей со своим PHP.
куча апачей со своим PHP.
Ну, это аналог инстансов о котором я писал в первом посте.
Что ж, похоже ничего не остается кроме как писать сложный скрипт, который это будет автоматизировать. Очень надеялся что как-то можно выкрутиться без костылей.
Пользуйтесь cgi/fastcgi
Уж больно люблю производительность голого префорка с модулем php.
Спасибо за ответы.
куча апачей.
уж лучше тогда fpm-воркеров кучу стартовать разных версий и ProxyPass'ить апачем на их сокеты.
предположим загрузите, как будете отличать, какой из *.php клиентов на какой пхп отправить?
Пробовал также немного подправить исходники php, менять название модуля с php5_module на php55_module, например, и с application/x-httpd-php на application/x-httpd-php55 и аналогично для версии 5.6. Результат: модули подключаются по отдельности и работают нормально, а также подключаются вместе (при этом apache не выдает ошибки на самом этапе подключения), но падает с segfault:
Динамически загружаемые расширения в php.ini нужно отключить.
;zend_extension = opcache.so
;extension = openssl.so
; итд...
Тогда может заработать.
куча апачей.
уж лучше тогда fpm-воркеров кучу стартовать разных версий и ProxyPass'ить апачем на их сокеты.
Такое уже есть. :)
предположим загрузите, как будете отличать, какой из *.php клиентов на какой пхп отправить?
Можно же скрипты написать для этого, нет ничего невыполнимого. И я уже работаю над этим.
Вот другой вопрос, а как система отнесется, например, к 1000 процессам httpd? :)
Проверю сегодня.
Вот другой вопрос, а как система отнесется, например, к 1000 процессам httpd?
нормально отнесется, а что такого ? лиж бы памяти хватило.
у меня есть серверы с 2000+ процессов. не вижу в этом никаких проблем, если аппаратная составляющая позволяет.
Единственный нюанс - сразу отсеиваются кандидаты в админы, не знакомые с grep, awk, sed и т д. ps aux видите ли, при таком объеме , трудно визуально обрабатывать. администраторы IOS (цисковской, а не яблочной ОС) меня поймут, когда в конфиге 10 000 строк.
sh run займет пару минут....
Динамически загружаемые расширения в php.ini нужно отключить.
;zend_extension = opcache.so
;extension = openssl.so
; итд...
Тогда может заработать.
Проверил, к сожалению не работает.