In the current OA Linux Shared Hosting NG implementation customer cannot use their custom php.ini file, only Provider may create custom php.ini file for a particular customer webspace.

In case you are using OA 5.4, follow the steps below to create custom php.ini file for a customer webspace #100001:

For OA 5.5, please see the corresponding guide part.

For OA 5.4:

  • Log into any web server in NG cluster by SSH as root

  • Go to the customer webspace folder, e.g. /var/www/vhosts/<NFS-vol-ID>/100001 (replace <NFS-vol-ID> with actual ID of NFS volume taken from NG cluster properties in OA Provider Control Panel):

    # cd /var/www/vhosts/1/100001
    
  • For the shared NG hosting create 'php' folder Documentation

    # mkdir php
    
  • Make sure that system user owning webspace has access to the folder, e.g. set permissions on folder to 755:

    # ls -ld /var/www/vhosts/1/100001/php
    drwxr-xr-x 2 root root 4096 Jul 12 19:44 /var/www/vhosts/1/100001/php
    
  • Copy the default system php.ini to the created folder, e.g. for PHP 5:

    # cp /etc/php.ini /var/www/vhosts/1/100001/php/
    
  • Make sure that system user owning webspace may read the file, e.g. set permissions like below:

    # ls -l /var/www/vhosts/1/100001/php/php.ini
     -rw-r--r-- 1 root root 2259 Jul 12 19:56 /var/www/vhosts/1/100001/php/php.ini
    
  • Customize the file /var/www/vhosts/1/100001/php5/php.ini

    Notes:

  • Customer cannot change custom php.ini in their webspace, only Provider may do that
  • Webspace system user should be able to read custom php.ini files
  • If permissions on the php.ini file are set to 644 anyone can read this file. Thus no sensitive data should be stored in this file.
  • The php.ini file should have full set of directives, not only customized ones. PHP stops searching php.ini once it found one located in the customer webspace.
  • To switch the subscriber to the default php.ini configuration, it is enough to delete the customized version. When the system fails to find custom php.ini, it starts using the default one.
  • Avoid using DOCUMENT_ROOT variable in PHP scripts, retrieve proper paths using other environment variables, like SCRIPT_FILENAME.
  • Use absolute paths in rewrite rules : file.php -> /path/to/file.php

    See the main Knowledgebase article #114326 Linux Shared Hosting NG: General Information, Best Practices and Troubleshooting for more information about NG Hosting in Parallels Automation.

Internal content