2011-11-21 181 views
3

只是用drupal改变了主题,我留下了白色的死亡屏幕。工作的默认主题是Zen。这是存储在sites/mysite.com/themes 主题我改为我认为是themes/ 下的主题之一没有访问数据库。有FTP访问权限。 有什么方法可以改变主题或安装一个会工作?Drupal - 白色死亡屏幕

+1

您是否检查过错误日志?此外,如果您有权访问FTP并因此访问数据库('sites/default/settings.php'),您可以上传PHPMyAdmin之类的内容来清除缓存表? –

+0

错误日志位于何处?此时无法访问数据库。 sites/mysite.com/themes下有一个settings.php文件,但没有默认文件夹。思考如果我上传phpmyadmin如何访问Drupal表? –

+0

日志是服务器特定的,所以我不能告诉你,不幸的是。 settings.php包含数据库连接的详细信息。然后,您可以使用PHPMyAdmin中的那些打开Drupal数据库并截断所有以'cache_'开头的表。您的主机可能已经安装了PHPMyAdmin。你与谁一起主持?另外,你使用的是Drupal版本? –

回答

8

解决问题的最简单方法是找出问题所在。

去的index.php后<?php

ini_set('display_errors',1); 
error_reporting(E_ALL|E_STRICT); 

添加以下代码行。然后在这里发表的错误。 当你完成后,不要忘记评论/删除。

编辑:

如果我理解正确的,这是什么,你才去WSOD一样。

  1. 您使用的是禅宗主题。
  2. 您登录到您的网站具有管理员权限,去http://yoursite.com/admin
  3. 你去了主题管理,改变你的主题到另一个(以下refered为“theme_b”)
  4. 当刷新该页面(或去你网站上的另一个页面)你有WSOD。

如果这是真的,然后按照下列步骤操作:

创建一个空白的主题。 为了做到这一点,请在您的计算机上创建一个名为“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的管理部分。

+0

我已经尝试显示错误,但我只是得到一个空白屏幕。 根本无法访问网站。我只有访问我的FTP服务器上的文件。 –

+0

这应该重写php.ini,以便出现错误消息。你试过我的第二种方法吗? – Tivie

+0

不,因为我无法访问主题管理或管理员。我可以在任何文件下设置它们吗? –

0

这是最有可能一个PHP无声的死亡,因为有没有分配给脚本/etc/php.ini中

在共享主机环境中足够的内存,您可以覆盖这个使用.htaccess文件。

0

您很可能有一个PHP错误未显示,因为主机上默认关闭了错误报告。纠正这种最简单的方法是在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

1

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

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

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

记得在之后再次删除该行。

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

+0

完成上述操作后,导航到http://www.mywebsite.com/?q=user网址,我能够再次看到我的屏幕。谢谢。 – fuzzyanalysis

+0

不客气:) – dnlmzw