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]
— (current)
Line 1: Line 1:
-====== Per user php.ini under Control Panel + LSWS ====== 
  
-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. 
  • Admin
  • Last modified: 2014/01/24 20:02
  • by Michael