Поймать "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)
Новые темыОбъявленияСвободное общение
22:45 Всем привет! 
19:37 Xrumer-полезный софт или нет? 
17:26 AI под надзором. Минцифры готовят клеймо для контента 
17:23 APK на паузе. Google убивает быстрый конверт 
17:18 Яндекс-ап 20 марта и похороны ChatGPT, Claude и Gemini. Считаем убытки 
15:02 Слипание слов в блоке 
10:39 MAX попер в бурж: 40 стран, ведение каналов и горы дешевого трафика 
04:09 От $0.015 за IP | $0.68 за ГБ | 9PROXY.COM | 20+ млн резидентных прокси | 99,95% аптайм | Без чёрных списков 
17:24 Обменный Сервис - Купец (Kupec.cc) 
15:52 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
14:06 Продвижение YouTube видео в топ поиска | Любой тип контента | Гарантия результата 
14:06 №1 Рассылка / Инвайтинг [TELEGRAM] | Приватный метод 
14:06 Trustpilot Reviews | Подниму рейтинг вашей компании 
14:06 Установка|Настройка|Доработка|Наполнение сайтов|Дизайн|3D|Видеомонтаж 
01:42 Точные прогнозы на футбол 
00:53 Сайты Рунета 
21:59 8 марта: желаю аптайма 99.9% и e-e-a-t без локов 
21:22 молодильные яблоки и живая вода 
08:52 Чак Норрис ушел - 19 марта 2026, 86 лет, семья подтвердила 
20:23 Панель Кнопки соцсетей 
14:03 Огородники