帮助中心
40
最新文章
  • 浅谈Drupal中template.php的重要性
  • 浅谈Drupal加强安全问题
  • 使用什么模块能检测Drupal的安全配置
  • Drupal教程之去掉AdSense模块中“JCV”id的方法
  • Drupal 7.0升级到Drupal 8.0优势分析
  • Drupal7上传图片和文件包含中文乱码问题
  • drupal技术文档翻译:客户端不支持服务器端要求的认证协议
  • Drupal技术文档翻译:按照路径来定制站点的logo和名称
  • Drupal技术文档翻译:当区域内没有内容的时候如何进行隐藏
  • Drupal技术文档翻译:如何完美写好.info文件(一)
  • 文章分类
  • 171CMS_711CMS
  • BIWEB商务智能网站系统
  • BO-BLOG开源博客系统相关
  • cmseasy易通企业系统相关
  • Cscms程氏内容管理系统
  • dedecms教程_织梦系统帮助文档_dedecms虚拟主机空间
  • Destoon开源b2b系统相关
  • DirectAdmin(DA)用户面板相关
  • discuz论坛_discuz x3.0教程_discuz x3.2教程_DZ论坛
  • DouPHP轻量级企业网站管理系统
  • drupal开源内容管理系统(CMS)
  • ecmall商城系统教程-ecmall最新版本-ecmall模版教程
  • Ecshop开源网店系统相关
  • ECTouch程序相关教程
  • ESPCMS_易思
  • ftp教程_ftp上传工具_ftp软件_ftp是什么
  • iwebshop开源网店系统相关
  • joomla开源cms相关
  • KingCMS内容管理系统
  • Lifetype开源博客相关
  • Magento开源电子商务系统
  • mambors开源cms相关
  • mediawiki开源百科系统相关
  • Metinfo(米拓)CMS教程-米拓模版安装教程
  • modoer3.2_modoer点评系统_modoer模版
  • MvMmall多用户商城系统
  • mysql数据库相关
  • opensns开源社交系统
  • oscommerce电子商务系统
  • PHPBB开源论坛程序相关
  • phpcms教程_phpcms漏洞修复_phpcms技术中心
  • phpmyfaq开源问答(FAQ)系统相关
  • phpweb程序_phpweb教程_phpweb成品网站
  • PHPWIND开源论坛系统相关
  • phpyun
  • php主机产品
  • Pmwiki开源百科程序
  • SemCms开源程序
  • SEO-网站优化-SEO优化
  • ShopEx网店程序_shopex模板教程_shopex虚拟主机空间
  • ShopNc开源商城系统教程_电子商务系统教程
  • Thinkphp中文WEB应用开发框架相关
  • thinksns全平台综合型社交系统
  • Typecho开源博客系统相关
  • WordPress博客中文教程_wordpress模板教程_wordpress虚拟主机空间
  • XOOPS内容管理系统(CMS)
  • YOUDIANCMS内容管理系统
  • zblog博客程序教程_zblog模版问题解决方法
  • Zen Cart开源商城系统相关
  • [db:分类]
  • 主机环境配置相关
  • 其他资料
  • 域名相关
  • 安全资讯
  • 宏博cms企业系统相关
  • 帝国CMS教程_帝国CMS常见问题解决方法
  • 建站之星教程_建站之星程序常见问题解决方案
  • 无忧主机原创视频教程
  • 无忧主机用户部署安装网站
  • 无忧主机超级用户管理系统相关
  • 易企cms企业系统相关
  • 最土团购程序_最土团购程序模板教程_最土团购虚拟主机空间
  • 海盗云商系统
  • 网站SEO教程_SEO是什么?_SEO博客-无忧主机
  • 网站迁移和数据备份相关
  • 行业新闻
  • 资源目录
  • 骑士cms_骑士人才系统教程
  • 无忧主机原创drupal官方技术文档翻译:解决 drupal访问白屏(访问空白页面)

    本文是根据drupal官方技术文档”The White Screen of Death (Completely Blank Page)”翻译过来,感谢您的阅读和支持。

    译文

    “White screen of death,WSOD。”白屏,想必在很多drupal用户在移动到一个页面时,突然间发现页面内容消失了,完全的白掉了。The White Screen of Death (Completely Blank Page)——白屏!没内容,没有错误提示。白屏不仅仅会在升级升级主题、升级核心、升级模块时产生,而且还具有一定的偶然性,但问题始终是有方法解决的。这篇文章中我们就介绍一下处理drupal白屏时的一些方法。

    首先,我们要处理白屏的问题,,在某些情况下让我们毫无头绪,所以我们现在要做的就是临时开启错误报告。

    开启错误报告方法如下:

    1:使用文档编辑器(dreamweaver或者editplus)打开根目录下的index.php。

    2:在index.php的最低部加入代码(不要去修改原有的信息,加在底部即可):

    <?

    error_reporting(E_ALL);

    ini_set(‘display_errors’, TRUE);

    ini_set(‘display_startup_errors’, TRUE);

    ?>

    注释:如果您建立的是多站点,但您只想让错误报告在一个站点显示的话,只需要在前面加一个if进行判断:<?

    If $_server[‘http_host’]===’需要显示站点域名'{

    这里把显示错误报告的代码复制到这里。

    }

    ?>

    如果问题发生在运行update.php的时候,我们就用文档编辑器开打update.php把ini_set(‘display_errors’,FLASE);这一句的注释掉。

    日志文件(Log

    日志文件可以让我们知道造成白屏的错误是什么操作产生的,并能告诉我们这个错误的文件在哪。在无忧主机(www.51php.com)上是提供日志文件下载的。而在nuix shell下我们键入”tail /var/log/apache/error.log”进入服务器的日志文件。当然我们还可以键入:

    grep ‘ErrorLog’ /etc/apache2/*

    grep ‘ErrorLog’ /etc/apache2/*/*

    来查找日志文件的存放地址。

    php文件的末尾是空白

    最普通的造成白屏的代码错误是额外的空白空间在PHP文件的最末端,避免这个问题您可以去参考drupal的编码标准(drupal coding standard)是不要在php文件末尾加上?>关闭。

    php版本问题

    在php4的一些版本下函数申明中申明的变量因为太多的“=”或者是处理“&$…”的时候因为PHP4处理器的不兼容造成白屏。

    解决办法:升级到PHP5

    当您的的网站运行在多PHP版本的服务器上时,可能会在.htaccess上添加一条 “addType x-mapp-php5 .php”来告诉服务器用PHP5而不是PHP4。

    如果是这个情况下,我们只需要把.htaccess中的addType x-mapp-php.php移除即可。

    升级过程中造成不可见的错误

    如果升级了模块,您首先可能会加载文件来测试一下,并确定没有明显的PHP语法错误。这是如果发生白屏是因为include_once()或者是require_once()函数调用不会报错(缺少原因)。在您的系统上运行这样的命令(这需要PHP接口或者是CLI安装了的情况下)“$ php <filename>”,这个命令会询问您的PHP去解析您的文件,如果遗失了“;”或者是“}”会立即给您返回错误提示,在我们修改错误以后,再次再您的服务器上运行。

    在*nix系统下,运行“$ find . -type f -name ‘*.php’ -exec php -1 ‘{}’ \;” 。

    为了达到更好的效果,您可能要为检测这样的错误写一个自动检测。(更多信息请查看:http://drupal.org/simpletest)

    输出缓冲

    一些模块需要输出缓冲功能开启。

    开启这项功能,我们只需要在您网站根目录下的.htaccess文件中加入如下代码:

    php_value output_buffering On

    php_value output_handler mb_output_handler

    Zend主题的兼容模式

    当您的网站迁移至另一个php虚拟主机上时出现白屏,可能就是因为zend主题的兼容造成的(在php.ini文件中)。在查看错误报告显示的是“Trying to clone an uncloneable object of class mysqli” ,我们在apache服务器下的php.ini键入这行命令:“Zend.ze1_compatibility_mod= off” 。

    清除缓存

    有时候只要我们清楚网站的缓存就可以解决白屏问题,缓存存储在您当前网站数据库的cache表中,删除数据表内容的SQL命令是“Truncate Table 表名;”(这里的话表名是cache)。

    WIMPwindows IIS mysql php

    如果您站点的安装环境是WIMP,当在http://www.example.com/install.php发生白屏时,您应该检测一下是否您在IIS服务器上安装了ISAPI模块。如果没有安装,请及时安装。

    PHP内存限制

    另一个很普遍造成白屏的原因就是内存限制,这个问题很容易发生在您登录到模块管理页面。

    解决方案:http://drupal.org/node/31819

    您可能需要运行一下updata.php,如果您不知道如果运行或者您没有权限运行,请查阅:http://drupal.org/node/61736

    不推荐的模块版本

    如果您下载的模块不是推荐的版本,您可以要把它升级到推荐的版本。模块的话我们能在http://drupal.org/project/modules查看版本情况,recommended就是推荐的意思。

    名字冲突

    另一个造成白屏的的原因很可能就是名字冲突,一个模块名和主题名相同。

    这个时候是没有错误信息产生的,因为这是需要drupal主题系统的行为。

    解决办法:重命名,当然不能相同。

    Template.php编码问题

    当错误提示为:Cannot modify header information – headers already sent by

    (output started at …/sites/all/themes/THEME_NAME/template.php:1)

    in …/includes/common.inc on line 314.

    从上面看出输出在第一行,这就是文件的编码方式不正确造成的。

    解决方法:用文档编辑器(推荐使用dreamweaver)打开文件后ctrl+j进行编码方式修改(推荐utf-8)。

    禁用模块

    当白屏是由于模块产生,却又不知道是哪个模块造成的,我们就可以按下列的方法来找出问题模块。

    1:在管理员后台禁用模块

    一个个的禁用的模块来寻找出造成白屏的模块。浏览到“管理员—>模块” ,把模块的复选框设定为取消,保存。

    2:通过数据库禁用模块

    在您drupal网站的数据库中找到一张system的数据表,然后把它的status状态改为0,接着删除缓存。

    PHP超时

    默认情况下PHP超时在php.ini文件下定义的是30秒,这对于模块的激活和开启来可能会有点短,从而造成白屏。

    超时的错误提醒是:Fatal error: Maximum execution time of 30 seconds exceeded in X:…..

    此时我们增加执行时间的办法有如下:

    在../sites/default/settings.php的最底部加入:ini_set(‘max_execution_time’,168);   /*这里的取值可以在147-168间*/

    这只是无忧主机(www.51php.com)翻译的处理drupal网站访问白屏方法,无忧主机(www.51php.com)小编选了一些比较常用和有效处理白屏的方法记载下来,确实有一些感觉是鸡肋也就没有进行翻译,如果上述处理drupal白屏的方法还不能解决您的实际需求的话,请您查看原文:http://drupal.org/node/158043

     

    纯Linux环境下高端免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

    本文地址:https://www.51php.com/drupal/6929.html