Проблемы при создании и изменении нод

Главные вкладки

Аватар пользователя Elodia Elodia 19 марта 2008 в 16:29

Я создала свой сайт около полугода назад.
И сейчас у меня появилась какая-то странная проблема. Друпал у меня поставлен на Денвер.
Когда я на локальном хосте пытаюсь создать новую категорию или просто ноду или изменить ее, то все ужасно зависает и в конце концов появляется белая страница примерно с таким сообщением:

Fatal error: Maximum execution time of 30 seconds exceeded in z:\home\blacksea.ewnc.org\www\includes\database.mysql.inc on line 153

Ясное дело, что сделать из того, что мне нужно ничего не возможно в таком случае.

Помогите пожалуйста, решить эту проблему!

Комментарии

Аватар пользователя Химический Али Химический Али 19 марта 2008 в 16:53

Похоже, на сервере произошли изменения, приведшие к сверхдлительной работе скриптов - им просто не хватает времени на ввыполнение.

Возможно, в логе ошибок отображена прична проблем.

Аватар пользователя CALLlA CALLlA 19 марта 2008 в 17:50

Самое простое - сделать дамп базы и архив папок, переустановить Денвер и развернуть сайт заново.
Поможет, если Вы накосячили с настройками сервера, а не с БД.

Аватар пользователя CALLlA CALLlA 20 марта 2008 в 11:16

phpinfo Вам в помощь - узнаете много нового о своих настройках.
Хорошо, что max_execution_time = 60 спасает, но радоваться сильно не стоит.
Ибо для создания ноды/категории, по-моему, вполне должно хватать и 30 секунд.

Аватар пользователя Elodia Elodia 20 марта 2008 в 11:25

Да я тоже так думаю... Потому что для некоторых операций у меня и 60 секунд стало недостаточно... Даже не знаю. Может поставить другой php? Или Апач? Что-то меня это тревожит, потому что я пыталась переходить на новую версию Денвера, но там эта проблема повторялась...

Аватар пользователя CALLlA CALLlA 20 марта 2008 в 17:12

При установке Денвера Вы получаете в награду апач, пхп, мускул.
Всё это богатство уже сконфигурировано.
То, что у Вас при смене версии Денвера проблема оставалась точно такой же свидетельствует о том, что, скорее всего, проблема в Вашей БД.
БД "увидеть" можно по адресу http://localhost/Tools/phpMyAdmin/

Аватар пользователя Elodia Elodia 20 марта 2008 в 18:13

О, да, я знаю, что ее можно увидеть там, несомненно. Но мне просто непонятно как можно увидеть проблему, меня это очень волнует и интересует, но я не имею ни малейшего представления о том, что это может такое быть и как оно должно выглядеть. А у ж тем более о том, как это можно исправить. Я давно подозреваю, что что-то с БД, но не знаю как это выявить...

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 20 марта 2008 в 20:07

Если знаете как "открыть" базу сайта с помощью PHPAdmin - уже хорошо.
отмечаете все таблицы, затем выбираете из выпадающего списка "с отмеченными" - "проверить" ... Затем снова отмечаете все и выбираете "оптимизировать".

Аватар пользователя Elodia Elodia 21 марта 2008 в 16:38

Вот сообщение, которое появляется после проверки базв

Проблемы с индексами таблицы `view_view`
Следующие индексы определены как идентичные, и один из них должен быть удален: name, name_2

Notice: ob_flush(): failed to flush buffer. No buffer to flush. in z:\home\myadmin\www\libraries\ob.lib.php on line 101
[ убрать подсказку | никогда больше не показывать ]

Это предупреждение, вероятнее всего, возникает вследствие высокого уровня контроля ошибок в PHP, по умолчанию установленного в Денвере (E_ALL). Такой режим вывода ошибок является рекомендуемым и сильно помогает при отладке скриптов. Однако множество готовых скриптов требуют более низкого уровня ошибок.

Вы можете установить более слабый контроль ошибок одним из следующих способов:

* Впишите в скрипты строчку:

Error_Reporting(E_ALL & ~E_NOTICE);

Этот способ особенно удобен, если в скрипте есть один файл (конфигурационный), который подключается всеми остальными.
* Рекомендуемый способ. Создайте в директории со скриптом файл .htaccess следующего содержания:

php_value error_reporting 7

* Исправьте в /usr/local/php/php.ini значение error_reporting на E_ALL & ~E_NOTICE. Этот способ не является рекомендуемым и может привести к серьезным неудобствам при отладке!

[Денвер: показать возможную причину ошибки]

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 21 марта 2008 в 14:15

Тогда ставить модуль devel, включать логирование информации о запросах к БД и анализировать информацию о запросах которую он выдаст. Искать долго выполняющиеся запросы и либо оптимизировать их ,либо избавляться от ненужных модулей выполняющих эти запросы.
Краткую рекомендацию тут не даешь, поэтому вам придется разбираться самостоятельно. Sad