How to configure php.ini and perform PHP performance tuning?
How to perform PHP performance tuning? The following article will introduce you to some methods of configuring php.ini to see how to maximize PHP performance? I hope to be helpful!
PHP used in production environments needs to be optimized to allow PHP itself to perform better. In addition to writing PHP code, you must also configure php.ini . Below we will explain the configuration tuning of php.ini from the aspects of memory, file upload, session buffer output, and real path cache.
Memory
Default setting
memory_limit = 128M
The maximum memory that can be used by a single process. This value can be set from Consider the following points:
Type of application. If it is a memory-intensive application, you can increase this value;
The average memory consumed by a single PHP process. This value can be averaged by running the same script multiple times;
How many php-fpm processes can it afford; this value is equal to the total allocated memory divided by the average memory consumed by a single PHP process
File upload
Default settings
file_uploads = On max_file_uploads = 20 upload_max_filesize = 2M max_execution_time = 30 值 为 0 代表没有限制
Set max_file_uploads to determine how many files are allowed to be uploaded at the same time;
Set upload_max_filesize to determine the maximum value for each file upload;
If it is a long-term task, try to use a queue to process it, so the value of max_execution_time can be shortened appropriately;
Note that the web server can also set the file upload size and timeout, not just the php.ini settings;
Session
PHP's session is saved on the hard disk by default
session.save_handler = files
In actual applications, the session should be saved in memory. You can use Memcached or Redis. There are two main benefits of doing this:
Increase speed;
It helps with later expansion. If the session data is stored on the hard disk, It is not convenient to add additional servers. If the session data is stored in Memcached or Redis, any distributed PHP-FPM server can access the session data.
You can install the memcached extension through PECL and set the default save_handler to memcached
session.save_handler = 'memcached' session.save_path = '127.0.0.1:11211'
Buffered output
Default value
output_buffering = 4096
Delivering content to the visitor's browser in fewer fragments can reduce the total number of HTTP requests. Therefore, we need to let PHP buffer the output. By default, PHP has enabled the output buffering function. PHP buffers 4096 bytes of output before sending the content to the web server.
Note: If you want to modify the output buffer size, make sure to use a value that is a multiple of 4 (32-bit systems) or 8 (64-bit systems).
Real path cache
Default value
realpath_cache_size = 4M realpath_cache_ttl = 120
PHP will cache the file path used by the application, so that each When you include or import a file, you no longer need to constantly search for the include path. This cache is called the real path cache. If you are running a large PHP file (such as the Composer component) and use a large number of files, increase the number of PHP real path caches. size for better performance.
Recommended: "PHP Video Tutorial"
The above is the detailed content of How to configure php.ini and perform PHP performance tuning?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to turn off the cache in php.ini: 1. Find and open the php.ini configuration file; 2. Find the "opcache.enable" and "opcache.enable_cli" options and modify them to "opcache.enable=0" and "opcache. enable_cli=0”; 3. Save the modified file.

Wampserver is a software package that can install Apache, PHP and MySQL on Windows computers. Develop and test PHP websites on your local computer easily with Wampserver. During the development process, we may need to modify the PHP configuration file php.ini. This article will introduce how to modify the php.ini file in Wampserver.

PHP.ini is a PHP configuration file that is used to control the performance of PHP on the server. This file is used to set the values of some variables to control PHP at runtime. This article will show you how to modify the PHP.ini configuration file to control how PHP behaves on your server.
![[Compilation and Summary] Common PHP.ini prompt errors and solutions](https://img.php.cn/upload/article/202303/20/2023032017183812389.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
PHP is a commonly used server-side scripting language that is widely used in the field of web development. However, during the PHP development process, we often encounter various problems. Among them, PHP.ini prompt error is a common problem.

PHP is a very popular server-side programming language. When developing web applications using PHP, we sometimes need to set the time zone in PHP. The default time zone of PHP is "UTC (Coordinated Universal Time)", which is not the time zone we want in many cases, so we need to change the time zone setting in the php.ini file. This article will explain how to change the time zone in the php.ini file.

Solution to linuxphp.ini not taking effect: 1. Reload the php.ini configuration file; 2. Search for the configuration to be modified in the printed "phpinfo();"; 3. View the "php-fpm.conf" configuration file , check whether the configuration in php.ini is overwritten. What should I do if linuxphp.ini does not take effect? Troubleshooting the problem that modifying php.ini does not take effect in the Linux environment. The main reasons why php.ini does not take effect after modification are as follows: 1. After modifying the php.ini configuration file, the php.ini configuration file is not reloaded. 2. There are multiple php.ini configuration files. 3. The configuration in php.ini is included in other files.

Solution to the problem that changing php.ini in php7 does not work: 1. Check the path of the configuration file; 2. Modify the parameters of "php.ini" under windows; 3. Set the parameter of "post_max_size" to N of "upload_max_filesize" times; 4. Restart apache.

Migration issues in PHP7 PHP7 is the next major version of PHP. It has huge improvements in performance and security, so many websites hope to upgrade to PHP7 as soon as possible. However, upgrading to PHP7 is not always easy. Due to incompatibilities with previous versions, enterprises may need to make some modifications, usually in the application code and in the PHP configuration files. As mentioned above, the mysql extension in PHP7 has been removed, so if you were using the mysql extension in an older version of PHP, you will need to make some modifications when migrating to PHP7. You can choose to replace the mysql extension with the mysqli extension (mysqli is the "MySQLImproved" extension
