Recently, CloudLinux has added support for LSWS to its PHP Selector. PHP Selector allows the end-user to select their PHP version and what PHP modules they want to run. This greatly benefits hosts who like to offer different PHP binaries with user-custom php.ini, giving their users the freedom of to choose their own PHP. We outline the steps necessary to install and set up PHP selector in this how to.
This freedom, however, comes with a price: LiteSpeed’s suEXEC daemon mode has to be turned off in order to work with PHP Selector. As we explained in our blog last year, any custom php.ini will force lsphp5 to fall back to non-suEXEC daemon mode for the server. Our tests with PHP Selector show that, if you want to use PHP Selector, suEXEC daemon mode needs to be turned off in LSWS. suEXEC daemon mode allows opcode caches to be shared among multiple processes and doesn’t require the in-memory cache to be flushed at every process exit. Some hosts may want to hold on to these performance gains no matter what.
We’re working on a way to get custom php.ini to work with suEXEC daemon mode. Until then, you can still choose between PHP Selector or suEXEC daemon mode, depending on what you want to offer.