Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Зависает сайт во время выполнения скрипта.
 
 автор: Zondex   (02.05.2012 в 02:16)   письмо автору
 
 

Всем доброго времени суток. Помогите, пожалуйста, разобраться.

Допустим на хостинге есть два скрипта: a.php и b.php
Почему, например, во время выполнения скрипта A, скрипт B находится в ожидании и не выполняется? У меня получается так, что если кто-то на сайте запустил "долгоиграющий" процесс, то сайт становится на это время недоступный. Это нормальная ситуация?
Если это норма, то можно ли это как-то обойти?

  Ответить  
 
 автор: cheops   (02.05.2012 в 09:59)   письмо автору
 
   для: Zondex   (02.05.2012 в 02:16)
 

А как скрипты связаны? Что они делают (особенно с базой данных, если она им нужна)? Ситуация не очень нормальная, но может иметь место, чтобы разобраться в чем дело, нужно больше подробностей.

  Ответить  
 
 автор: Zondex   (02.05.2012 в 11:37)   письмо автору
 
   для: cheops   (02.05.2012 в 09:59)
 

Скрипты никак не связаны. Скрипт A - это index.php, который выводит страницы сайта, читая контент из БД. Скрипт B - это панель управления.

В данном случае, находясь в панели управления, я "обновляю" почту по протоколу IMAP. Т.к. это занимает некоторое время, сайт в этот момент недоступен.

Оба скрипта используют БД под одним пользователем.

  Ответить  
 
 автор: cheops   (02.05.2012 в 12:03)   письмо автору
 
   для: Zondex   (02.05.2012 в 11:37)
 

Опишите если не сложно, как происходит "обновление", соединение с базой данных остается открыто все время "обновления", как много информации помещается в базу данных за время обновления?

PS Вы используете таблицы MyISAM или InnoDB?

  Ответить  
 
 автор: Zondex   (02.05.2012 в 15:31)   письмо автору
 
   для: cheops   (02.05.2012 в 12:03)
 

Обновление - это ничто иное, как чтение списка писем с почтового сервера. Для этого использую функции imap_.
Соединение остаётся открытым, но никакая информация в БД не записывается. Таблицы MyISAM.

  Ответить  
 
 автор: cheops   (02.05.2012 в 16:21)   письмо автору
 
   для: Zondex   (02.05.2012 в 15:31)
 

Тогда не должно бы такого быть... а это только вы видите или другие пользователи сайта тоже на зависания жалуются?

  Ответить  
 
 автор: Zondex   (02.05.2012 в 19:44)   письмо автору
 
   для: cheops   (02.05.2012 в 16:21)
 

Это вижу только я, т.к. доступ к панели управления имею только я, а значит и "затормозить" сайт могу, тоже, только я.

Методом последовательного "закомменчивания" кода, обнаружил, что проблема в сессиях. Оказывается, что если в скрипте B запущенна сессия, то в скрипте A она уже не работает и ожидает завершения работы скрипта B. Это нормальное поведение сессий?

  Ответить  
 
 автор: NW   (03.05.2012 в 10:11)   письмо автору
 
   для: Zondex   (02.05.2012 в 02:16)
 

Может просто уровень ошибок выставить и посмотреть что напишет. Косяк может в мелочи какой то, не стоит глубоко копать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования