Я создала свой сайт около полугода назад.
И сейчас у меня появилась какая-то странная проблема. Друпал у меня поставлен на Денвер.
Когда я на локальном хосте пытаюсь создать новую категорию или просто ноду или изменить ее, то все ужасно зависает и в конце концов появляется белая страница примерно с таким сообщением:
Fatal error: Maximum execution time of 30 seconds exceeded in z:\home\blacksea.ewnc.org\www\includes\database.mysql.inc on line 153
Ясное дело, что сделать из того, что мне нужно ничего не возможно в таком случае.
Помогите пожалуйста, решить эту проблему!
Комментарии
Похоже, на сервере произошли изменения, приведшие к сверхдлительной работе скриптов - им просто не хватает времени на ввыполнение.
Возможно, в логе ошибок отображена прична проблем.
вообще это все происходит на локалхосте. И я не знаю что делать...
Самое простое - сделать дамп базы и архив папок, переустановить Денвер и развернуть сайт заново.
Поможет, если Вы накосячили с настройками сервера, а не с БД.
А что значит настройки сервера и где там можно было накосячить?
А можно на денвере поменять max_execution time?
usr\local\php5 или другая версия пхп\php.ini
там поправить max_execution_time = 60
Это сработало!
Спасибо вам огромное!
phpinfo Вам в помощь - узнаете много нового о своих настройках.
Хорошо, что max_execution_time = 60 спасает, но радоваться сильно не стоит.
Ибо для создания ноды/категории, по-моему, вполне должно хватать и 30 секунд.
Да я тоже так думаю... Потому что для некоторых операций у меня и 60 секунд стало недостаточно... Даже не знаю. Может поставить другой php? Или Апач? Что-то меня это тревожит, потому что я пыталась переходить на новую версию Денвера, но там эта проблема повторялась...
Скорее всего проблема с базой данных. Проверьте ее состояние и размеры таблиц...
Состояние базы данных? А что это значит? Вы не могли бы поподробнее, это важно...
При установке Денвера Вы получаете в награду апач, пхп, мускул.
Всё это богатство уже сконфигурировано.
То, что у Вас при смене версии Денвера проблема оставалась точно такой же свидетельствует о том, что, скорее всего, проблема в Вашей БД.
БД "увидеть" можно по адресу http://localhost/Tools/phpMyAdmin/
О, да, я знаю, что ее можно увидеть там, несомненно. Но мне просто непонятно как можно увидеть проблему, меня это очень волнует и интересует, но я не имею ни малейшего представления о том, что это может такое быть и как оно должно выглядеть. А у ж тем более о том, как это можно исправить. Я давно подозреваю, что что-то с БД, но не знаю как это выявить...
Если знаете как "открыть" базу сайта с помощью PHPAdmin - уже хорошо.
отмечаете все таблицы, затем выбираете из выпадающего списка "с отмеченными" - "проверить" ... Затем снова отмечаете все и выбираете "оптимизировать".
Вот сообщение, которое появляется после проверки базв
Проблемы с индексами таблицы `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. Этот способ не является рекомендуемым и может привести к серьезным неудобствам при отладке!
[Денвер: показать возможную причину ошибки]
Спасибо, я про такое не знала:)
Попробовала, но ничего не изменилось. Зависоны продолжаются с той же частотой...
Тогда ставить модуль devel, включать логирование информации о запросах к БД и анализировать информацию о запросах которую он выдаст. Искать долго выполняющиеся запросы и либо оптимизировать их ,либо избавляться от ненужных модулей выполняющих эти запросы.
Краткую рекомендацию тут не даешь, поэтому вам придется разбираться самостоятельно.