HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

почему останавливается скрипт?
  #1  
Старый 03.10.2009, 09:59
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию почему останавливается скрипт?

замечал такое на некоторых хостингах
работает пхп-скрипт минуты 3-5 и вдруг ни с того ни с сего останавливается. ни ошибок, ни ограничений на время выполнения.
причем иногда это бывает вообще в самое разное время после запуска.
с чем это может быть связано? браузер может оборвать соединение?
 
Ответить с цитированием

  #2  
Старый 03.10.2009, 10:21
lo0
Участник форума
Регистрация: 06.03.2006
Сообщений: 122
С нами: 10621225

Репутация: 72
По умолчанию

Есть такая функция ignore_user_abort
+
пару слов о скрипте, хотябы знать, с чем он работает, т.к. без дополнительной инфы очень тяжело помочь.
 
Ответить с цитированием

  #3  
Старый 03.10.2009, 10:44
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
С нами: 9963746

Репутация: 392
По умолчанию

скорее всего останавливается ииза того что память у него кончается, попробуй количество памяти разрешенной увеличть(на некоторых хостингах выделяют больше на других меньше, поэтому он работает так)
но если это не поможет попробуй в скрипте вести типа лога чтобы увидеть когда он остановился там можно разобраться почему
P.S.ignore_user_abort по моему здесь не при чем, скрипт бы завершался сразу после закрытия браузера но не через 2-3 минуты
 
Ответить с цитированием

  #4  
Старый 03.10.2009, 12:28
b1oxa
Banned
Регистрация: 15.08.2008
Сообщений: 29
С нами: 9335829

Репутация: 12
По умолчанию

Цитата:
Сообщение от Zedi  
скорее всего останавливается ииза того что память у него кончается, попробуй количество памяти разрешенной увеличть(на некоторых хостингах выделяют больше на других меньше, поэтому он работает так)
но если это не поможет попробуй в скрипте вести типа лога чтобы увидеть когда он остановился там можно разобраться почему
P.S.ignore_user_abort по моему здесь не при чем, скрипт бы завершался сразу после закрытия браузера но не через 2-3 минуты
согласен.
попробуй этот же скрипт на других хостах.
 
Ответить с цитированием

  #5  
Старый 03.10.2009, 13:01
Tigger
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
С нами: 9846041

Репутация: 1177


По умолчанию

1) set_time_limit(0);
2) В php.ini стоят значения на выполнения, которые нельзя изменить;
3) Вариант Zedi.
 
Ответить с цитированием

  #6  
Старый 03.10.2009, 14:15
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
С нами: 9213376

Репутация: 278
По умолчанию

ini_set('memory_limit', 15);

Думаю, 15 МБ хватит.
 
Ответить с цитированием

  #7  
Старый 03.10.2009, 15:10
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
С нами: 10262314

Репутация: 668


По умолчанию

Deathdreams а помойму надо так ini_set('memory_limit', '15M'); не?
 
Ответить с цитированием

  #8  
Старый 03.10.2009, 15:18
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

Цитата:
To change the memory allocation limit permanently for all PHP scripts running on the server, modify the PHP.INI configuration file of the server (location depending on your OS and installation method). Search for memory_limit after opening the file in an editor. If the memory_limit doesn’t exist, add the following line. If it’s there, modify the value of the memory_limit:

memory_limit = 12M

The 12M sets the limit to 12 megabytes (12582912 bytes). Change to the value you desirable.
Перевод:

Цитата:
Чтобы изменить предел распределения памяти надолго для всех подлинников PHP, бегущих на сервере, измените файл конфигурации PHP.INI сервера (местоположение в зависимости от Вашего OS и инсталляционного метода). Поиск memory_limit после открытия файла в редакторе. Если memory_limit не существует, добавьте следующую линию. Если это там, измените ценность memory_limit:

memory_limit = 12M

12M устанавливает предел к 12 мегабайтам (12582912 байтов). Измените на ценность Вас желательный.
 
Ответить с цитированием

  #9  
Старый 03.10.2009, 18:55
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
С нами: 9213376

Репутация: 278
По умолчанию

Doom123
Да так. Забыл просто в каком формате.
 
Ответить с цитированием

  #10  
Старый 03.10.2009, 18:58
BlackSun
Познавший АНТИЧАТ
Регистрация: 01.04.2007
Сообщений: 1,268
С нами: 10058786

Репутация: 4589


По умолчанию

Цитата:
Сообщение от Zedi  
скорее всего останавливается ииза того что память у него кончается, попробуй количество памяти разрешенной увеличть(на некоторых хостингах выделяют больше на других меньше, поэтому он работает так)
но если это не поможет попробуй в скрипте вести типа лога чтобы увидеть когда он остановился там можно разобраться почему
P.S.ignore_user_abort по моему здесь не при чем, скрипт бы завершался сразу после закрытия браузера но не через 2-3 минуты
ignore_user_abort как раз и нужен, у меня тоже скрипты останавливаются даже с нулевым тайм лимитом и при этом памяти им хватает.

2ТС: как и говорили - юзай set_time_limit + ignore_user_abort, весь вывод записывай во временный файл, а просматривай другим скриптом, так надежнее. Собственно подобный метод применяется в нормальных FTP чекерах на пыхе.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт цитатника just_shark PHP 0 18.09.2009 20:45
Скрипт спамелки. Need Help /!\ Dr_SoF PHP 5 05.02.2009 20:14



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.