How to Increase PHP Memory Limit, Upload File Limit and Script Execution Time
Computers & Technology → Technology
- Author Gerhard Schmidt
- Published September 22, 2011
- Word count 823
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 Limit
1.1. php.ini configuration
This 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.
-
Locate the php.ini file used by your web server. You can use the phpinfo() PHP function to find it.
-
Edit the memory_limit parameter in the php.ini file (usually in a section called Resource Limits)
memory_limit = 32M ; Maximum amount of memory a script may consume (32MB)
If there is no section already for this, place the above line at the end of the file.
- Restart Apache.
Note: If you are using XAMPP/WAMP, there may be two PHP.ini files (one under the PHP directory and the other under Apache/bin). 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.
1.2. .htaccess configutaion
This 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 32M
This method will only work if PHP is running as an Apache module.
1.3. Configuration in PHP scripts
Add the following line where you need to give PHP more memory:
ini_set('memory_limit', '32M');
- Set Upload File Size Limit
Default PHP settings 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 -1.
-
post_max_size - 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.
There are two methods two fix this problem.
2.1. 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 parameters:
memory_limit = 32M
upload_max_filesize = 10M
post_max_size = 20M
- restart Apache
2.2. .htaccess configuration
This 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 upload_max_filesize 10M
php_value post_max_size 20M
php_value memory_limit 32M
This method will only work if PHP is running as an Apache module.
- Increase Script Execution Time
PHP 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.
3.1. 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 = 45
Change the value (in second) or set to 0 for infinite time
- restart Apache
3.2. .htaccess configuration
Edit (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 45
Change the value (in second) or set to 0 for infinite time
3.3. Configuration in PHP scripts
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.
You are free to distribute this article if you preserve author name and web site links.http://php.net/
Article source: https://articlebiz.comRate article
Article comments
There are no posted comments.
Related articles
- Top 10 Ways Production Scheduling in Business Central Transforms Manufacturing
- How Collaborating with a Software Development Company Can Propel Your Business Forward
- GoPDF An Online PDF Editor Releases Mobiles Apps Compatible with iOS & Android: A Faster Solution for PDF Editing
- The Best AI Logo Generators in 2024
- Adapting to Rising Parcel Rates in 2024 with Business Central and Order Ship Express
- Zoviz Launches New Solutions Day by Day to Users as An AI Logo Maker
- Generative AI across Sectors: How different industries are Leveraging Its Power
- Is Your Finance Strategy Ready for ERP Software?
- A Beginner's Guide to Starting a Career in Web3
- The Benefits of Cloud Computing: Selecting the Right Provider and Key Considerations for Migration
- Need to Do More with Less? Focus on CRM Success
- Revolutionizing IT: Joaquin Fagundo's Pioneering Role in AI-Driven Business Transformation
- A Step-by-Step Guide to Easily Connecting Your Printer to WiFi
- Harnessing the Power of License Plating in Dynamics 365 Business Central
- Crypto Weekend: Hydra Being “Abandoned”, New Blockchain Games And Partnerships
- Crypto And Web3: Integration That Opens Up New Opportunities
- Top 10 Features You Didn't Know Existed in Product Configurators for Business Central
- Enhancing Test Case Reusability with Execution Recording
- The Ultimate Guide to Hiring ASP.NET Developers for Your Business
- INVESTIGATING THE NEW MACBOOK AIR M3: STOCKPILING AND SPEED EXPERIENCES
- How to Fix Sump Pump Drainage: A Complete Guide to Keep Your Basement Dry
- From Paper to Digital: Transforming QA with Dynamics 365 Business Central
- How AI Content Moderation Keeps Your Brand Afloat
- the best metal detector
- You’re probably not ready for AI. Guide to K-12 data collection.
- Elevate Your Business Central Experience with Free Barcoding Integration
- Choosing the Best SMS Gateway Provider: 5 Essential Features for Success
- Designing Easy to Use Software: Understanding the Basics of UX Testing in Quality Assurance
- The Link: Merging Brains and Computers
- Machine translation vs AI translation: What sets them apart?