Why shouldn't I use Apache2 with a threaded MPM in a production environment?
"PHP is glue. It is the glue used to build cool web applications by sticking dozens of 3rd-party libraries together and making it all appear as one coherent entity through an intuitive and easy to learn language interface. The flexibility and power of PHP relies on the stability and robustness of the underlying platform. It needs a working OS, a working web server and working 3rd-party libraries to glue together. When any of these stop working PHP needs ways to identify the problems and fix them quickly. When you make the underlying framework more complex by not having completely separate execution threads, completely separate memory segments and a strong sandbox for each request to play in, feet of clay are introduced into PHP's system."
https://www.php.net/manual/en/faq.installation.php#faq.installation.apache2
"PHP - это клей. Клей, используемый для построения классных web приложений, склеивая дюжины сторонних библиотек и создавая впечатление одного согласованного целого, с помощью интуитивного и легко изучаемого языка. Гибкость и мощь PHP полагается на стабильность и устойчивость используемой платформы. Для склейки вместе ему необходимы работающая ОС, работающий web сервер и работающие сторонние библиотеки. Когда что-либо из этого перестаёт работать PHP нужны способы определения проблем и их быстрого исправления. Если вы усложняете низлежащую систему, не разделяя полностью потоки выполнения, не выделяя раздельные сегменты памяти и не предоставляя "песочницу" для игры для каждого запроса, то ваша PHP система увязнет в глине."
https://www.php.net/manual/ru/faq.installation.php#faq.installation.apache2
То есть, вместо внятного объяснения авторы почти открыто говорят: "мы написали такую какашку, что не гарантируем правильную работу с памятью, поэтому если уж вас угораздило её запустить, лучше делать это в отдельной песочнице, чтоб она вместе с собой не уронила соседние треды".
via
nikulina
"PHP is glue. It is the glue used to build cool web applications by sticking dozens of 3rd-party libraries together and making it all appear as one coherent entity through an intuitive and easy to learn language interface. The flexibility and power of PHP relies on the stability and robustness of the underlying platform. It needs a working OS, a working web server and working 3rd-party libraries to glue together. When any of these stop working PHP needs ways to identify the problems and fix them quickly. When you make the underlying framework more complex by not having completely separate execution threads, completely separate memory segments and a strong sandbox for each request to play in, feet of clay are introduced into PHP's system."
https://www.php.net/manual/en/faq.installation.php#faq.installation.apache2
"PHP - это клей. Клей, используемый для построения классных web приложений, склеивая дюжины сторонних библиотек и создавая впечатление одного согласованного целого, с помощью интуитивного и легко изучаемого языка. Гибкость и мощь PHP полагается на стабильность и устойчивость используемой платформы. Для склейки вместе ему необходимы работающая ОС, работающий web сервер и работающие сторонние библиотеки. Когда что-либо из этого перестаёт работать PHP нужны способы определения проблем и их быстрого исправления. Если вы усложняете низлежащую систему, не разделяя полностью потоки выполнения, не выделяя раздельные сегменты памяти и не предоставляя "песочницу" для игры для каждого запроса, то ваша PHP система увязнет в глине."
https://www.php.net/manual/ru/faq.installation.php#faq.installation.apache2
То есть, вместо внятного объяснения авторы почти открыто говорят: "мы написали такую какашку, что не гарантируем правильную работу с памятью, поэтому если уж вас угораздило её запустить, лучше делать это в отдельной песочнице, чтоб она вместе с собой не уронила соседние треды".
via
no subject
no subject
Очень модная, как раз, штука - http://php-fpm.anight.org/
На пхпконфе была весьма зажигательная презентация (последние две фотки), на которой автор как раз и описал последовательно проблемы установки модулем апача и CGI/FastCGUI, а затем - преимущества новой технологии.
Собственно, у пхп модулем ведь и своих проблем хватает - что для посещаемого сайта, что для шаред хостинга - куда более значимые, чем теоретическая нестабильность threaded MPM.
no subject
если серьезно, насколько я понял, эта штука как раз и запускает php отдельными даже от апача процессами.
no subject
Вообще php-fpm - это патч для нагруженных, пожалуй, систем, насколько я себе это понимаю. Поскольку исправляет главную проблему FastCGI, с которым акселераторы использовать практически бесполезно - свой кэш/опкод создается на каждый воркер. А php-fpm, как раз, эту ситуацию и исправляает.