How to increase PHP memory limit
PHP sets a limit on how much memory PHP scripts are allowed to use so that a memory-intensive script won't bring down a system. PHP will exit and throw the following error once the limit is reached;
PHP Fatal error: Allowed memory size of xxxx bytes exhausted (tried to allocate yyyy) in yourscript.php
You can increase the memory limit if your PHP scripts require to avoid the error. Some methods to increase the memory limit in PHP are configuring php.ini or .htaccess file and using ini_set() function. cPanel provides the option to configure PHP memory limit from the web interface.
Methods to increase PHP memory limit:
Increase PHP memory limit via file (php.ini)
This method will apply to all the PHP scripts that run in the system. It is a good method to follow if you're not hosting multiple systems in a single host.
-
Open PHP configuration file using your preferred text editor.
$ sudo vi /etc/php/7.2/apache2/php.ini
Related: PHP configuration files
-
Search for memory_limit directive within the configuration file.
; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 128MB
-
Set the memory limit value with appropriate unit.
; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 512MB
-
Restart your web server for the changes to take effect.
Related: How to manage Apache service
Increase PHP memory limit via .htaccess
To make the setting effective only to a certain folder (or project), you can use the .htaccess file to do the trick. To do this, locate (or create) .htaccess file in your PHP scripts folder and add the following line;
php_value memory_limit 512MB
Increase PHP memory limit via ini_set() function
It is probably the best method as the setting applies only to the particular script and would not allow other poorly written scripts to consume and waste the system's memory.
To do this, add the following line in your PHP script;
ini_set('memory_limit', '512MB');
Increase PHP memory limit for cPanel
You don't have access to PHP's configuration file if you're hosting your system in cPanel, but cPanel do provide the option to change the setting from its admin dashboard.