Drupal的一个小问题

Drupal使用一个叫drupal_http_request的函数从其他网站获取系统更新或rss信息。如果drupal_http_request函数访问失败,它会自动将drupal_http_request_fails变量设为TRUE。在此之后的访问都需要先system_check_http_request,以确定系统确实支持drupal_http_request。而system_check_http_request会调用drupal_http_request访问自己这个站点。

这个系统本身没有什么问题,但如果后台用的是nginx + php-cgi(1 child)这种模式,因为只有一个php-cgi实例,在其中运行的php是不能在访问自己的站点的,此时php-cgi已经是处于忙状态了。于是就会出现gateway time out的错误。

此问题对普通用户没有任何影响。只在调用/admin/admin/report/status时会有导致错误,因为这两个网页会调用system_check_http_request,如果drupal_http_request_fails为TRUE。
二胎准生证http://www.0123.cn/ertai/
解决办法,

  1. 修改system模块里system.module文件中的system_check_http_request,让它去检测google一类肯定不会掉线的网站来确定drupal_http_request的可用性。
  2. 使用两个php-cgi children
  3. 修改web server(nginx)的配置,如果访问/的请求是从本地发起的,则自动转向一个静态文件。

修改系统模块总会造成各式各样的麻烦,两个php-cgi消耗内存比较大,虽然后一种解决方法丑陋了一点,但用起来更简单,以后也不担心drupal升级。

时间: 2024-10-09 12:37:04

Drupal的一个小问题的相关文章

关于链表的一个小程序

关于链表的一个小程序: /**************************链表*****************************//* 具备功能 *//* 链表按元素位置插入 *//* 链表按元素位置删除 *//* 链表全表遍历 *//* 链表整表创建(头插法) *//* 链表整表创建(尾插法) *//* 链表整表删除 *//**************************链表*****************************/ #include<stdio.h>#in

原创观点:还在认为企业或个人只能申请一个小程序吗?

今天第一次体验了整个小程序注册流程,使用的是我自己的这个简单的教程(个人无appid如何进行申请开发者权限,简单操作步骤),教程虽然是我的,我自己却没有真的实践过,真是误人子弟,自己也不一定能知道:今天亲自测试了一下:首先走完邮箱验证: 验证完毕后,开始进入信息登录,这里,有一些关键信息,是本文观点的主要支撑: 请输入管理员的身份证号码,一个身份证号码只能注册5个小程序. 然后填写完毕后,到了第二个关键点: 为了验证你的身份,请用绑定了管理员本人银行卡的微信扫描二维码. 这个点,透露了两个信息,

先做一个“小程序”——关于微信应用号的六大猜想

先做一个“小程序”——关于微信应用号的六大猜想 9月 21 日,苦等了9个多月的时间,应用号终于与我们见面了,命名为「小程序」. 01 为什么推出小程序? 考虑到小程序对整个APP市场的影响,毫无疑问会对现有的APP生态带来一定的冲击.但是,之所以推出小程序,最直接的原因可能是为了构建和扩充微信生态链,让微信更具开放性. 如我们所知,目前微信公众号分为三类: • 服务号,连接人和商品,目前很多电商企业,以及在微信端提供产品和服务的企业都用服务号. • 订阅号,微信官方的定位是阅读,连接人和资讯的

基于宿主机制作一个小系统

一.Linux系统的启动流程 1.启动程序 Linux系统的启动流程为:POST-->BIOS(BootSequence)-->MBR(bootloader,446)--> Kernel-->initrd-->(ROOTFS)/sbin/init(/etc/inittab). 首先上电自检POST:它负责完成对CPU.主板.内存.软硬盘子系统.显示子系统(包括显示缓存).串并行接口.键盘.CD-ROM光驱等的检测.主要检查硬件的好坏. 紧接着就是BIOS进行硬件相关初始化,之

一个小软件练习了一下python

朋友用python写了一个小软件,刚好没有怎么认真用python编过程序,于是就改进一下 主要练习了一些知识: 1.python Tkinter 页面布局,这次软件用了用了grid 2.Event 事件绑定 3. 字符串的处理. 4.tkFileDialog 的使用 5.一点点面向对象的编程. 6.python编码的结构以及练习Code好习惯 后期改进: 1. 加滚动条 2. 加算法变换文件 3. 可以修改保存路径 4.强化错误处理 5.添加函数,根据类型,用office直接双击打开转换成功的文

FMX相当于在界面上自己又做了一个小操作系统

FMX的自画界面我也不看好,比如复制粘贴,太丑了,系统做得很好很精细的复制粘贴界面,就是无法调出,比如MIUI,复制粘贴还能有个放大镜,可以选择到屏幕边缘的文字,可以选择剪贴板内多个可粘贴的文字:还有那个Memo,有的时候该折行的不折行,有的文字看不到了.文本输入框,隐藏剪贴板后,再点击就弹不出来了:系统本身的文本框就没有这个问题.底部输入框输入时自动上移界面,好像是操作系统本身就有的吧,FMX还得自己编很多代码,也不一定编好.自己编码补漏洞是另外一回事.FMX给我的感觉是在界面上自己又做了一个

Word 2003安装时的一个小问题

Word2003安装时的一个小问题 今天给一个老师安装软件,出现了这个问题? 系统管理员设置了系统策略,禁止进行此安装. 解决方法 开始-运行-regedit 在注册表项里找到下面这个选项: HKEY_CLASSES_ROOT\Installer\Products\4080110900063D11C8EF10054038389C 将这项删除.再进行安装就可以了.

简易的shell ---- MOS 的一个小练习题

想到自己的好多图片还有代码在上一次硬盘挂掉的时候丢失, 心中就是阵痛... 这个简单的shell代码被放在临时的pdf文档中得以被保留了下来... 阿门...今天想写个简单的数据库的时候, 感觉是不是要做个交互页面, 不让用户写程序, 模仿MySQL简单的命令, 用户傻瓜化就好了... 交互的方式可以是shell.  其实中科院孟宁老师的一个OO课的前几课的一个小作业就是自己写个shell. 不难. RTFSC 于是... demo如下: /***************************

【ASP.net控件】DropDownList数据绑定一个小bug

绑定数据出现这种情况,明明在第一项插入了一条数据,却始终在DropDownList中没有显示出来. 代码如下: if (!IsPostBack) { //绑定城市 DataTable dtCity = new HighSearch().GetCitySelect(); DropDownList1.DataSource = dtCity; DropDownList1.DataValueField = "citycode"; DropDownList1.DataTextField = &q