Поймать "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)
Новые темыОбъявленияСвободное общение
15:19 Refmate — сервис для взаимного обмена ссылками 
13:06 Продвижение по ключам 
09:47 Adsense личный опыт 
13:13 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
13:47 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
08:27 Ищу специалистов 
08:18 Прибыль 200$ - 400$, за каждую 1000 уников! Google, FB и тд 
05:19 Swapper.ws - Обмен криптовалют. Быстро, выгодно, круглосуточно. 
04:06 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
01:41 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
20:22 Belurk — высокоскоростные анонимные прокси от 0,24 рублей 
18:48 Продажа аккаунтов HH.RU 
17:38 swapsfera.com 
17:30 GoodsMoney.io 
17:46 Всего п онемногу 
12:45 Куплю проигрышные букмекерские аккаунты 
11:55 Union Pharm - топовая фарма-партнерка для профессионалов! 
17:09 Точные прогнозы на футбол 
10:00 Ну что, кто куда деваете свои сайты? 
16:22 Компьютерная мышь 
23:55 Добро пожаловать в цифровой мир...