Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
litespeed_wiki:per_user_ini_in_control_panel_lsws [2014/01/24 20:02]
Michael [1. Define PHPRC in LSWS Server level External App Environment]
litespeed_wiki:per_user_ini_in_control_panel_lsws [2015/07/28 19:54]
Michael Alegre removed
Line 1: Line 1:
-====== Per user php.ini under Control Panel + LSWS ====== +[[litespeed_wiki:php:per-user-php-ini|This page has been moved.]]
- +
-This document lists the options to use per user php.ini under the environment of hosting control panel(cPanel/​WHM,​ Plesk, DirectAdmin,​ etc) + LiteSpeed Web Server(LSWS).  +
- +
-===== 1. Define PHPRC in LSWS Server level External App Environment ===== +
- +
- Put something like "​PHPRC=$VH_ROOT"​ in lsphp environment (Web Admin Console->​Server->​External App->​lsphp5->​Edit->​Environment).  +
- +
- ​**Note:**  +
-   * Make sure permission of php.ini file is readable by suEXEC user +
-   * PHPRC is to use user-defined php.ini ONLY.  +
-   * The $VH_ROOT, $VH_NAME, and $VH_USER variables may be used to refer to user's home directory, domain, or username. These variables will apply to every vhost (user account) under one main account. +
- +
-===== 2. Define PHP_INI_SCAN_DIR in LSWS Server level External App Environment ===== +
- +
- Put something like "​PHP_INI_SCAN_DIR=$VH_ROOT/​php"​ in lsphp environment (Web Admin Console->​Server->​External App->​lsphp5->​Edit->​Environment).  +
- +
- ​**Note:**  +
-   * This method is not recommended if you replace apache with suphp, use PHPRC is recommended +
-   * Make sure permission of php.ini file is readable by suEXEC user +
-   * PHP_INI_SCAN_DIR is to use user-defined php.ini (additional ini settings) on top of master/​default php.ini. +
-   * PHP_INI_SCAN_DIR is available for PHP 5.2.7 and up. +
-   * $VH_ROOT refers to user's home directory which applies to every user account under one main account. +
- +
- +
-===== 3. Define PHPIniDir directive in configuration (vhost httpd.conf) from control panel ===== +
- This can be done if only one vhost (user) needs its own php.ini (not for every vhost or multiple vhosts under one main account), "​PHPIniDir"​ can be used. +
- +
-<​file>​ +
-  ​Add entry "​PHPIniDir /​path/​to/​custom_ini/​directory"​ to httpd.conf vhost section or a conf file included by vhost httpd.conf +
-  - Create custome ini file '/​path/​to/​custom_ini/​directory/​php.ini'  +
-  ​Restart LSWS '​service lsws restart'​ (i.e. on CentOS) to make the change effective. +
-</​file>​ +
- ​**Note:​**  +
-   * PHPIniDir directive at vhost level is supported since LSWS 4.0.2 +
-   * PHPIniDir directive is effective **ONLY IF** placed in the 1st (or main domain) vhost **OF THE ACCOUNT (USER)**. The one placed in subdomain vhost will be ignored even though it is just for that vhost. +
-   * **PHP suEXEC MUST BE ENABLED**. Otherwise, only the PHPIniDir defined in server'​s global vhost (catch-all vhost) is effective. +
-   * Changes in the php.ini will not be picked up until new PHP process starts. ​This is because php.ini is read the first time when a php process starts. +
- +
-====== Tips ====== +
-   * Option 2 could be used along with Option 1 or 3 without conflicts. However, it should rarely be needed in the per user setup. +
-   * Option 3 takes precedence over Option 1 should they be used at the same time. +
-   * PHP suEXEC **MUST BE ENABLED** in LSWS.+