Поймать "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)
Новые темыОбъявленияСвободное общение
19:33 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
09:02 Как продвигать сайт с неуникальным контентом 
08:58 Стоит ли добавлять сайт в Rambler топ 100? 
08:57 Absence в Армении 
14:50 Индексация страниц 
12:36 У кого новостник, дайте пару советов плиз 
13:53 AviTool - мощный инструмент для автоматизации работы с Avito 
22:17 Продам копию сайта. 
21:42 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
15:52 AllCharge.online. Современный, быстрый и надёжный обменник 
15:32 CactusPay.PRO | Умная платёжная система с выводом в USDT TRC-20 
12:01 PonyBit.ru - обменный пункт PonyBit.ru (Понибит.ру) 
04:11 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
01:31 Скрипт обменника валют 
21:05 Точные прогнозы на футбол 
11:07 Ну что, кто куда деваете свои сайты? 
22:09 Добро пожаловать в цифровой мир... 
19:42 Топ-5 способов использовать мобильные прокси для бизнеса: подробный обзор 
22:08 Накрутка поисковых подсказок 
14:01 Union Pharm - топовая фарма-партнерка для профессионалов! 
10:59 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди