Drupal usesdrupal_http_request
Function to obtain system updates or RSS information from other websites. Ifdrupal_http_request
Function access fails.drupal_http_request_fails
Set variableTRUE
. For subsequent access, you must firstsystem_check_http_request
To confirm that the system does supportdrupal_http_request
. Whilesystem_check_http_request
Yesdrupal_http_request
Visit your site.
This system has no problems, but if nginx + PHP-CGI (1 child) mode is used in the background, because there is only one PHP-CGI instance, the PHP running in it cannot access its own site. At this time, PHP-CGI is already busy. The gateway time out error occurs.
This issue has no impact on common users. Only when/admin
And/admin/report/status
Errors may occur because these two webpages callsystem_check_http_request
, Ifdrupal_http_request_fails
True.
Two-child birth permit http://www.0123.cn/ertai/
Solution,
- Modify
system.module
Filesystem_check_http_request
So that it can detect websites like Google that will not be dropped.drupal_http_request
.
- Use two PHP-CGI children
- Modify the configuration of the Web server (nginx). If the access/request is initiated from a local machine, it is automatically switched to a static file.
Modifying system modules will always cause a variety of troubles. Two PHP-CGI instances consume a large amount of memory. Although the latter solution is ugly, it is easier to use, we will not worry about Drupal upgrade in the future.
A small issue with Drupal