我最近获得了对预先配置的Drupal网站的访问权限。我注意到加载特定管理面板的一些问题,所以我最终禁用了Adaptive Theme -AT Admin主题。我有一个WSOD,并设法重新启用它,但现在我的所有管理页面都返回此错误:
Fatal error: Cannot redeclare adaptivetheme_admin_preprocess_page() (previously declared in /nas/webroot/mydomain.com/web/dev/themes/adaptivetheme/at_admin/template.php:6) in /nas/webroot/mydomain.com/web/dev/themes/adaptivetheme/at_admin/template.php on line 47
这是它正在谈论的文件:
<?php
/**
* Override or insert variables into page templates.
*/
function adaptivetheme_admin_preprocess_page(&$vars) {
// RFC2822 date format
if ($rfc = date("r" , time())) {
$vars['datetime_rfc'] = t('@time', array('@time' => $rfc));
}
else {
$rfc = '';
$vars['datetime_rfc'] = '';
}
// ISO 8601 date format
if ($iso = gmdate('Y-m-d\TH:i:sO')) {
$vars['datetime_iso'] = $iso;
}
else {
$iso = '';
$vars['datetime_iso'] = '';
}
$vars['content_header_attributes_array']['class'][] = 'branding-elements';
$vars['content_header_attributes_array']['role'][] = 'banner';
}
/**
* Alter the search block form.
*/
function adaptivetheme_admin_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'search_block_form') {
$form['search_block_form']['#title'] = t('Search');
$form['search_block_form']['#title_display'] = 'invisible';
$form['search_block_form']['#size'] = 20;
$form['search_block_form']['#attributes']['placeholder'] = t('Search');
$form['actions']['submit']['#value'] = t('Go');
}
}
function adaptivetheme_admin_preprocess_page(&$vars) {
global $user;
$vars['datetime_rfc'] = '';
$vars['datetime_iso'] = '';
$vars['datetime_rfc'] = date("r" , time()); // RFC2822 date format
$vars['datetime_iso'] = date("c" , time()); // ISO 8601 date format
}
我在Drupal管理上非常环保。我只想让管理面板再次运行。我尝试刷新所有缓存,但得到一个不同的错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 280097 bytes) in /nas/webroot/mydomain.com/web/dev/includes/cache.inc on line 463
我发现如果我通过SFTP登录并更改此特定子主题文件夹的名称,我可以快速更改。管理员的裸版显示,但在15秒左右后返回相同的错误。这让我至少可以重新启用主题,但我不确定它为什么还没有加载。
答案 0 :(得分:1)
Fatal error: Cannot redeclare adaptivetheme_admin_preprocess_page()
告诉我们在template.php中定义两次函数adaptivetheme_admin_preprocess_page()。如您所见,它位于第6行和第47行。因此您需要删除其中一个。或者可能合并代码并只留下一个函数定义。
你可以通过增加php内存限制值来修复内存问题。好像现在你有128MB。尝试将其增加到512MB,对于drupal应该足够了。