Поймать "PHP Fatal error: Out of memory" в обработчик исключений try - Как ?
Страницы: 1
Поймать "PHP Fatal error: Out of memory" в обработчик исключений try - Как ?
Всем Доброго времени суток
Подскажите - как поймать ошибку:
PHP Fatal error:  Out of memory

В обработчик исключений ?
Делаю по логике так:

Код
try{
   $site = self::GetSite($rz['url']);
          
}catch (Exception $e){
   echo PHP_EOL.'Error'.PHP_EOL;
      print_r($e);
      exit;
}
 
но по итогу в консоли получаю:
PHP Fatal error:  Out of memory (allocated 20185088) (tried to allocate 12669953 bytes) in ......///gParsSite.php on line 203

То есть до обработки просто дело не доходит...
Посмотрите:

on-line-teaching.com/php/struct.exc.htm
Цитата
Coder пишет:
Посмотрите:

on-line-teaching.com/php/struct.exc.htm

Суть той статьи в генерации исключений самому, Мне же надо отловить ошибку - чтобы попросту высвабадить открытые ресурсы smile:(
joub,
Сервер на винде стоит?
Предлагаю Услуги по веб-разработке/программированию
HTML(HTML5), CSS(CSS3), JavaScript(jQuery, AJAX), PHP, MySQL
========================================
http://www.cy-pr.com/forum/f58/t37537/
http://www.cy-pr.com/forum/f50/t35619/
Цитата
Sillys пишет:
joub,
Сервер на винде стоит?
root@server:~# uname -a
Linux server.domain.com 2.6.32-5-686-bigmem #1 SMP Fri May 10 09:11:45 UTC 2013 i686 GNU/Linux
Если с английским в ладах, то Вам stackoverflow.com/questions/277224/how-do-i-catch-a-php-fatal-error]сюда. А если по простому, то в try должно быть, что-то, что с генерирует Вам этот Exception, то есть throw new Exception('blablabla'), только тогда сработает catch smile;)
Цитата
Константин Митюрин пишет:
Если с английским в ладах, то Вам stackoverflow.com/questions/277224/how-do-i-catch-a-php-fatal-error]сюда. А если по простому, то в try должно быть, что-то, что с генерирует Вам этот Exception, то есть throw new Exception('blablabla'), только тогда сработает catch smile;)
К сожалению я это уже понял, получается что фатальную ошибку такова (выше) рода не возможно обработать средствами php ?
Цитата
joub пишет:
Цитата
Константин Митюрин пишет:
Если с английским в ладах, то Вам stackoverflow.com/questions/277224/how-do-i-catch-a-php-fatal-error]сюда. А если по простому, то в try должно быть, что-то, что с генерирует Вам этот Exception, то есть throw new Exception('blablabla'), только тогда сработает catch smile;)
К сожалению я это уже понял, получается что фатальную ошибку такова (выше) рода не возможно обработать средствами php ?

Поймать можно, все зависит от того, что Вы потом хотите делать с этими данными.

Посмотрите пример

Код
 <?php

ini_set('error_reporting','0');

register_shutdown_function('shutdownFunction');

function shutDownFunction() { 
    $error = error_get_last();
    if ($error['type'] == 1) {
        echo "
      Error type: {$error['type']}<br/>\n
      Error message: {$error['message']}<br/>\n
      Error file: {$error['file']}<br/>\n
      Error string: {$error['line']}<br/>\n
   ";
    } 
}


blablabla();


shutDownFunction() будет выполнена в случае ошибки, а там Вы уже сам себе художник - хотите отобразите в своем стиле, хотите запишите ошибку в базу, хотите перезагрузите страницу с параметрами через header("Location: index.php?mem_limit=1G") smile:) Судя по названию файла, "gParsSite.php" Вы пишите парсер сайта.
Цитата

shutDownFunction() будет выполнена в случае ошибки, а там Вы уже сам себе художник - хотите отобразите в своем стиле, хотите запишите ошибку в базу, хотите перезагрузите страницу с параметрами через header("Location: index.php?mem_limit=1G"smile;) smile:) Судя по названию файла, "gParsSite.php" Вы пишите парсер сайта.
То что искал!
Вы правы, пишу. И при загрузке и обработке больших страниц - скрипт вылетает с ошибкой и обработке регулярных выражений.
А дальше обработать - это удалить lock файл, блокирующий выполнение нескольких скриптов одновременно )
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
18:44 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
13:43 Стоит ли добавлять сайт в Rambler топ 100? 
13:12 Покупные ссылки 
12:57 Rotapost прикрыли! Чем пользоваться? 
15:12 Ночной бар в Паттайе: как случайная встреча с "тайкой" и её кадыком перевернула мой взгляд на продвижение сайта в Google 2026 
15:01 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
07:24 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
01:31 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
01:07 Full-Stack Developer — Сайты и Софт любой сложности | Developer Websites and Soft of any Complexity! 
20:42 E-currency.exchange — ваш помощник в мире обменов 
17:00 Belurk — высокоскоростные анонимные прокси от 0,24 рублей 
15:15 Продажа горячих лидов и готовых баз для финансовых проектов, брокеров и чарджбэк-компаний. 
08:39 Мониторинг обменников Сrypto-scout.io 
04:11 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
22:59 Про мясо 
15:07 Добро пожаловать в цифровой мир... 
22:12 BYTIK.shop – сервис по продвижению в популярных социальных сетях​ 
10:10 накрутка трафика в SimilarWeb 
16:50 Компьютерная мышь 
22:11 С юмором по жизни! 
23:03 Точные прогнозы на футбол