Отправить сигнал что скрипт завершился аварийно
1.
Вантуз-мен (03.10.2016 / 18:50)
Есть некий обработчик, который берет в цикле некие формулы на php и выполняет их через eval
Иногда в массиве встречаются некорректные данные, к примеру отсутствует скобка или точка с запятой, eval естественно падает и выдает parse error
try catch не ловит, есть какие-нибудь другие способы например записать в лог или что-то другое, что произошел сбой
2.
JustZero (03.10.2016 / 19:08)
delete
3.
KpuTuK (03.10.2016 / 22:08)
Как насчёт
http://php.net/manual/ru/function.set-error-handler.php
Либо eval() die();
Ну либо проверять код до попадания в eval скриптом коих на гитхабе куча
4.
Вантуз-мен (03.10.2016 / 23:40)
Ошибки следующих типов не могут быть обработаны пользователем: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, и большинство E_STRICT ошибок, произошедших в файле, где вызвана функция set_error_handler().
Насчет проверки до подумать надо, стоит оно того вообще
5.
Кевин Митник (04.10.2016 / 05:59)
вообще странный вариант предложу, и в нем есть ограничения, но именно так работает один из сервисов запуска скриптов онлайн.
получаем данные от пользователя, создаем файл, пишем туда полученные данные от пользователя, запускаем как файл с помощью php (для данного сервиса нужно сделать много ограничений, чтобы не сломали систему), смотрим STDOUT и радуемся любому результату
6.
KpuTuK (04.10.2016 / 19:33)
Vantuz, а для чего вообще нужно eval использовать?
7.
Вантуз-мен (04.10.2016 / 22:56)
Кевин Митник_HHTeam, файл создавать нагрузка на файловую систему, там много формул, пытался сделать что-то типа exec("php -l '$file'"); но $file как файл из потока никак не хочет работать, может есть возможность, но у меня не получилось,
KpuTuK, для исполнения кода, он хранится в базе
8.
ramzes (05.10.2016 / 01:14)
Кешировать, генерить файл с многими кусками кода в виде набора функций? func$id
9.
KpuTuK (05.10.2016 / 09:31)
Vantuz, а что за скрипт/модуль?
URL:
https://visavi.net/topics/43177