Drupal - 白色死亡屏幕
只是用drupal改变了主题,我留下了白色的死亡屏幕。工作的默认主题是Zen。这是存储在sites/mysite.com/themes
主题我改为我认为是themes/
下的主题之一没有访问数据库。有FTP访问权限。 有什么方法可以改变主题或安装一个会工作?Drupal - 白色死亡屏幕
解决问题的最简单方法是找出问题所在。
去的index.php后<?php
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);
添加以下代码行。然后在这里发表的错误。 当你完成后,不要忘记评论/删除。
编辑:
如果我理解正确的,这是什么,你才去WSOD一样。
- 您使用的是禅宗主题。
- 您登录到您的网站具有管理员权限,去http://yoursite.com/admin
- 你去了主题管理,改变你的主题到另一个(以下refered为“theme_b”)
- 当刷新该页面(或去你网站上的另一个页面)你有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的管理部分。
我已经尝试显示错误,但我只是得到一个空白屏幕。 根本无法访问网站。我只有访问我的FTP服务器上的文件。 –
这应该重写php.ini,以便出现错误消息。你试过我的第二种方法吗? – Tivie
不,因为我无法访问主题管理或管理员。我可以在任何文件下设置它们吗? –
这是最有可能一个PHP无声的死亡,因为有没有分配给脚本/etc/php.ini中
在共享主机环境中足够的内存,您可以覆盖这个使用.htaccess文件。
您很可能有一个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
你不一定会看到任何错误。对我来说,这是一个缓存问题,它阻止了页面加载正确的内容。
我通过在index.php文件的最后一行插入以下内容(在Drupal根目录中)来清除缓存。这为我解决了这个问题:
db_query("DELETE FROM {cache};");
记得在之后再次删除该行。
有关缓存的更多信息,请看这里:https://drupal.org/node/42055
完成上述操作后,导航到http://www.mywebsite.com/?q=user网址,我能够再次看到我的屏幕。谢谢。 – fuzzyanalysis
不客气:) – dnlmzw
您是否检查过错误日志?此外,如果您有权访问FTP并因此访问数据库('sites/default/settings.php'),您可以上传PHPMyAdmin之类的内容来清除缓存表? –
错误日志位于何处?此时无法访问数据库。 sites/mysite.com/themes下有一个settings.php文件,但没有默认文件夹。思考如果我上传phpmyadmin如何访问Drupal表? –
日志是服务器特定的,所以我不能告诉你,不幸的是。 settings.php包含数据库连接的详细信息。然后,您可以使用PHPMyAdmin中的那些打开Drupal数据库并截断所有以'cache_'开头的表。您的主机可能已经安装了PHPMyAdmin。你与谁一起主持?另外,你使用的是Drupal版本? –