Home > Backend Development > PHP Problem > What should I do if the nginx php file does not take execution time?

What should I do if the nginx php file does not take execution time?

PHPz
Release: 2023-03-29 11:44:08
Original
573 people have browsed it

Nginx is a high-performance, high-concurrency web server software, and PHP is a common development language that can be used by Nginx. However, when using Nginx, you may encounter the problem of PHP files not executing. This is usually caused by PHP execution timeout. Well, this article will introduce how to solve this problem by setting the PHP execution time in Nginx.

Step one: Check the current PHP execution time settings

Before you start adjusting the PHP execution time of Nginx, you need to understand the current settings. You can check the current PHP execution time setting by executing the following command:

php -i | grep "max_execution_time"
Copy after login

This will output the current PHP execution time limit. By default, it is set to 30 seconds.

Step 2: Modify the PHP execution time settings in Nginx

To change the PHP execution time settings in Nginx, you need to edit the Nginx website configuration file. In this example, we assume that your Nginx website configuration file is located in the /etc/nginx/sites-available/ directory and named it example.com.

Open the example.com file and find the following code:

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}
Copy after login

In this code block, you need to add the fastcgi_read_timeout directive. This directive is used to set the execution time of the PHP script in seconds.

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 300; # 5 minutes
}
Copy after login

In this example, we extend the PHP execution time to 5 minutes.

Step 3: Reload Nginx configuration and test

You have changed the PHP execution time settings in Nginx. Now, you need to reload the Nginx configuration file for the changes to take effect.

sudo systemctl reload nginx
Copy after login

Next, you can test whether the PHP execution time has been changed successfully. You can test this by creating a simple PHP script.

<?php
sleep(300); # sleep for 5 minutes
echo "Hello World!";
?>
Copy after login

Save the above code as test.php and upload it to the web directory in your Nginx server. Now you can access the file in your web browser and wait 5 minutes to see if the output is correct.

Summary

Now, you have learned how to solve the problem of PHP script not executing by setting the PHP execution time in Nginx. By following the steps in this article to set it up, you can ensure that your PHP script executes completely without worrying about PHP execution timeouts.

The above is the detailed content of What should I do if the nginx php file does not take execution time?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template