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.
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.
$ sudo vi /etc/php/7.2/apache2/php.ini
Related: PHP configuration files
; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 128MB
; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 512MB
Related: How to manage Apache service
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
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;
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.
Comment anonymously. Login not required.