Drupal - 白色死亡屏幕

时间:2011-11-21 23:20:33

标签: drupal

刚刚用drupal改变了主题,我留下了白色的死亡画面。默认主题是Zen。这存储在sites/mysite.com/themes下 主题我改为我认为是themes/下的主题之一 无权访问数据库。有FTP访问权限。 有没有办法改变主题或安装一个可行的主题?

4 个答案:

答案 0 :(得分:8)

纠正问题的最简单方法是找出问题所在。

转到index.php并在<?php

之后添加以下行
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);

然后在这里发布错误。 完成后不要忘记评论/删除。

修改

如果我理解正确,这就是你在去WSOD之前所做的事情。

  1. 您使用的是Zen主题。
  2. 您使用管理员权限登录了您的网站,然后转到http://yoursite.com/admin
  3. 您进入主题管理并将您的主题更改为另一个(此后称为“theme_b”)
  4. 刷新页面(或转到您网站的其他页面)时,您获得了WSOD。
  5. 如果是这样,请按照以下步骤操作:

    创建一个空白主题。 为此,请在计算机中创建名为“theme_b”的文件夹。

    在里面创建以下文件: theme_b.info,template.php,style.css和page.tpl.php

    打开theme_b.info并粘贴:

    name = theme_b
    description = bla
    version = 1
    core = 6.x
    engine = phptemplate
    stylesheets[all][] = style.css
    

    保存。

    打开page.tpl.php并粘贴:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <?php print $head ?>
        <title><?php print $head_title ?></title>
        <?php print $styles ?>
        <?php print $scripts ?>
    </head>
    <body>
    <div><?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?></div>
    <div><?php print theme('links', $secondary_links, array('class' => 'links secondary-links')) ?></div>
    <div id="sidebar-left" class="sidebar"><?php print $left ?></div>
    <div>
    <?php if ($tabs): print '<div id="tabs-wrapper" class="clear-block">'; endif; ?>
    <?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
    <?php if ($tabs): print '<ul class="tabs primary">'. $tabs .'</ul></div>'; endif; ?>
    <?php if ($tabs2): print '<ul class="tabs secondary">'. $tabs2 .'</ul>'; endif; ?>
    <?php if ($show_messages && $messages): print $messages; endif; ?>
    <?php print $help; ?>
    </div>
    <div>
    <?php print $content; ?>
    </div>
    </body>
    </html>
    

    保存。

    然后将文件夹theme_a上传到sites / yoursite.com / themes,替换现有的theme_a文件夹。

    这可以让您访问drupal的管理部分。

答案 1 :(得分:1)

您不一定会看到任何错误。对我来说,这是一个缓存问题,阻止了页面加载正确的内容。

我通过在index.php文件的最后一行插入以下内容来清除缓存(在Drupal根目录中)。这解决了我的问题:

db_query("DELETE FROM {cache};");

请记住以后再删除该行。

有关缓存的更多信息,请查看此处:https://drupal.org/node/42055

答案 2 :(得分:0)

这很可能是一个PHP沉默死亡,因为没有足够的内存分配给/etc/php.ini中的脚本

在共享托管环境中,您可以使用.htaccess文件覆盖它。

答案 3 :(得分:0)

由于主机上默认情况下错误报告已关闭,因此您很可能没有显示错误。解决此问题的最简单方法是在index.php的顶部添加以下代码:

<?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

此外,您肯定希望找到您的php错误日志,并查看是否有关于该错误的任何其他信息。

查看本主题的Drupal帮助页面:http://drupal.org/node/158043