2011-01-17 2 views
0

я тестирование Drupal 7 с модулем объявления, но после установки модуля, я получил скучную ошибку:Drupal 7 и объявления ошибка модуля

  • Примечание: Constant request_time уже определен в include_once() (строка 34 из /var/www/chri/sites/all/modules/ed_classified/ed_classified.module).

Когда я посмотрел на код PHP я не смог найти проблема вызывает следующая функция не должна определять request_time если уже определен ...

/* 
* Drupal 7 provides REQUEST_TIME as time of start of request. This 
* is more efficient than using time() every time. Adopted here. 
*/ 
if (!defined(REQUEST_TIME)) { 
    define('REQUEST_TIME', time()); //LINE 34 
} 

Любое предложение?

ответ

1

Похоже, что код Drupal 6 был перенесен на Drupal 7, но они забыли его удалить. Должно быть безопасно просто удалить этот кусок кода. Не забудьте также указать проблему в очереди на выпуск модуля и/или предоставить патч, чтобы все остальные могли воспользоваться вашим исправлением!

1

Основная проблема этого кода в том, что на самом деле это неправильно. defined() получает строку, а не константу. Вот почему он работает не так, как ожидалось.

Итак, как сказал Дэйв, заполните сообщение об ошибке для модуля, это необходимо исправить для 6.x (там возникает E_NOTICE) и 7.x.

0

Это исправление было включено несколько недель назад в рамках доработки ed_classified модуля, в настоящее время в филиалах 6.x-3.x и 7.x-3.x

Если вы до сих пор находите проблемы с ним, сообщите об этом в очередь на выпуск модуля: это поможет большему количеству людей, чем попросить SE, и вы можете получить фактическое исправление модуля вместо локального исправления.

Смежные вопросы