Changing the Temporary Upload Directory in Shared Hosting Environments
Introduction
If you're running a PHP project on a cPanel-powered shared hosting environment, you may find the need to customize the temporary upload directory (upload_tmp_dir
directive) to fulfill specific requirements or to optimize your application. Due to the constraints in shared hosting settings, global access to php.ini
is generally not an option. However, there are effective alternatives using local configuration files like php.ini
or user.ini
.
Pre-requisites
Before you proceed, ensure that:
- You have access to the cPanel of your hosting environment.
- The directory you intend to use as the temporary upload folder exists and has the correct permissions.
Method 1: Using a Local php.ini File
-
Create a new php.ini File: Open your cPanel File Manager and go to the root directory of your project. Create a new file and name it
php.ini
. -
Edit the php.ini File: Add the following line to the
php.ini
file:
upload_tmp_dir = /home/username/public_html/temp
-
Replace
/home/username/public_html/temp
with the actual directory path. Ensure PHP has write access to this directory. -
Save Changes: Save the modifications to the
php.ini
file. -
Update .htaccess: Add the below line to your
.htaccess
file.
suPHP_ConfigPath /home/username/public_html
-
Replace
/home/username/public_html
with the directory where yourphp.ini
is located. -
Save Changes: Save your
.htaccess
file.
Note: These settings will apply to the directory containing the php.ini
and .htaccess
files, as well as any subdirectories.
Method 2: Using a user.ini File
-
Create a new user.ini File: Navigate to your project's root directory in cPanel File Manager and create a new file named
user.ini
. -
Edit the user.ini File: Insert the following line into
user.ini
:
upload_tmp_dir = /home/username/public_html/temp
-
Make sure to replace
/home/username/public_html/temp
with your desired directory path. -
Save Changes: Save the modifications to the
user.ini
file.
Note: The user.ini
changes may take up to 5 minutes to propagate due to PHP's user_ini.cache_ttl
setting. The settings will apply to the directory where user.ini
resides and its subdirectories.
Securing the Temporary Upload Directory
- The temporary upload directory should not be publicly accessible via the web to prevent unauthorized file access.
- Set appropriate file permissions, usually
755
for directories and644
for files, to secure the upload directory.
If you are uncertain about the security settings, contact your hosting provider or refer to our knowledge base at www.domainindia.com/knowledgebase for best practices on permissions and directory security.
By following the above methods, you can efficiently customize the temporary upload directory in your cPanel shared hosting environment while maintaining security. For further assistance or complex issues, please submit a ticket at www.domainindia.com/support.