A PHP memory limit of 16MB is set by default in PHP. Some sites may need more than 32MB. Memory limits of 64MB and higher are not unusual. Default upload file limit is 2MB is quite low, especially if site works with photos which can easily have more then 32MB size. As for Script Execution time - it is set to 30 seconds by default but some tasks (for example service cron tasks) need more time to finish their job. There are several techniques to increase the PHP memory limit, upload file limit and execution time - you only need to use one of them. The right one for you depends on your system configuration.
Set Memory Limit1.1. php.ini configurationThis is the recommended approach if you have access to the server's php.ini. This will not be possible in most shared hosting environments, though your host may be able to adjust it for you. Note that this change will affect all websites and PHP scripts on the server To change your memory limit, edit the file in the XAMPP/Apache/bin directory.The next two solutions are more restricted in scope and, in some cases, may be more appropriate choices than affecting all sites.
htaccess configutaionThis is useful when you do not have access to php.ini file.Edit (Create) the .htaccess file in the site root (public) directory and add the following line:php_value memory_limit 32MThis method will only work if PHP is running as an Apache module.
Configuration in PHP scriptsAdd the following line where you need to give PHP more memory.Memory limits on Shared Hostings.In some shared hosting environments, access to the PHP memory limit setting is restricted. If you cannot make the change yourself, please ask your hosting provider to adjust it for you, or look for a new host that allows more flexibility.
Set Upload File Size LimitYour php installation putting limits on upload file size. The default will restrict you to a max 2 MB upload file size. You need to set the following three configuration options:- upload_max_filesize - The maximum size of an uploaded file.- memory_limit - This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server. Note that to have no memory limit, set this directive to Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize. If memory limit is enabled by your configure script, memory_limit also affects file uploading. Generally speaking, memory_limit should be larger than post_max_size.
Increase Script Execution TimePHP scripts are only allowed to be executed for a certain period of time, and when it reaches the time limit, it will stop and produce the following error:"Fatal error: Maximum execution time of 30 seconds exceeded in yourscript.php"To allow your PHP script to run at a longer time, you'll need to increase the maximum execution time limit of PHP scripts using any of the following methods.
php.ini configuration- Locate the php.ini file used by your web server. You can use the phpinfo() PHP function to find it.- find and modify next parameter:max_execution_time = 45Change the value (in second) or set to 0 for infinite time - restart Apache
htaccess configurationEdit (Create) the .htaccess file in the site root (public) directory or in the directory of your script and add the following line:php_value max_execution_time 45Change the value (in second) or set to 0 for infinite time
Configuration in PHP scriptsThis is probably the best method as the setting applies only to the particular script, and would not allow other poorly written scripts to also consume and waste the system's resource.To do this, call the following function in your PHP script with the maximum execution time in second as the parameter:set_time_limit ( 300 )You can use 0 as parameter for infinite execution time.
|