PHP Selector это компонент CloudLinux, который базируется на CageFS и позволяет пользователям выбирать версию PHP, параметры и необходимые модули.
Значения по умолчанию — версия PHP и дефолтные модули задаются в файле /etc/cl.selector/defaults.cfg.
В файле /etc/cl.selector/global_php.ini задаются стандартные параметры php.ini для ВСЕХ версий PHP. После изменения этого файла, необходимо выполнить:
/usr/sbin/cagefsctl --setup-cl-selectorСтандартные значения для конкретных версий PHP находятся в файлах /opt/alt/phpXX/etc/php.ini, где XX — это версия PHP. Например, дефолтный php.ini для PHP 5.3 находится здесь: /opt/alt/php53/etc/php.ini.
В этих файлах можно задавать специфичные для версии PHP параметры php.ini.Пользователи могут изменять параметры php.ini через панель управления хостингом (если имеется плагин). После изменения стандартных параметров, создается файл /etc/cl.php.d/alt-phpXX/alt_php.ini, который доступен только из CageFS, а значит он свой для каждого пользователя.
Можно изменять набор параметров php.ini, доступных для редактирования в файле /etc/cl.selector/php.conf.
Команда cagefsctl —rebuild-alt-php-ini пересобирает пользовательские alt_php.ini файлы, с учетом выбранных пользователем специфичных опций php.ini из /home/USER/.cl.selector/alt_phpXX.cfg.
Узнать выбранную версию PHP:
/usr/bin/cl-selector --current=php --user=USERNAMEАдмин может менять любые опции php.ini командой /usr/bin/piniset.
Команда меняет параметр PHP upload_max_filesize для пользователя USERNAME:
/usr/bin/piniset -r 'upload_max_filesize:16M' -u USERNAMEБолее детально о PHP Selector: http://docs.cloudlinux.com/index.html?php_selector.html
#!/bin/bash # Пример скрипта. Меняет версию PHP на DEFAULT_PHP для пользователей, у которых php=native. # Можно имзенить php=native на нужную версию, например php=5.2. DEFAULT_PHP="5.3" for user in `ls /home`; do userDir=/home/${user} if [[ -f ${userDir}/.cl.selector/defaults.cfg ]] then phpv=`cat ${userDir}/.cl.selector/defaults.cfg | grep "php="` if [ $phpv == "php=native" ]; then echo ${user}: ${phpv} "-> " ${DEFAULT_PHP} /usr/bin/cl-selector --user=${user} --select=php --version=${DEFAULT_PHP} fi fi done