Forum Webscript.Ru
Программирование => PHP => Тема начата: Jean от 25 Июня 2004, 09:24:39
-
Помогите, пожалуйста,
обычно чтобы отлавливать ошибки нужно определить свою функцию error_handler, а потом в нужном месте поставить
set_error_handler("error_handler");
(вроде правильно написал)
Но проблема такая:
function error_handler ($level, $message, $file, $line, context)
{
echo "Уровень ошибки: ".$level."
";
echo "Сообщение: ".$message."
";
echo "Файл: ".$file."
";
echo "Строка: ".$line."
";
}
как получить $level, $message, $file, $line не выводя их на экран
то есть вот пример
set_error_handler("error_handler");
eval($scriptbody);
//а вот здесь мне нужно узнать строку и прочее
-
Jean:
как получить $level, $message, $file, $line не выводя их на экран
что ты имеешь ввиду под словом "получить"
Jean:
eval($scriptbody);
не используй eval в своих скриптах вообще никогда в жизни, и втои волосы будут мягкими и шелковистыми.
-
что ты имеешь ввиду под словом "получить"
я имею ввиду записать ее в какую-нибудь переменную, а потом эту переменную использовать, но не выводить на экран просто echo
-
Jean:
я имею ввиду записать ее в какую-нибудь переменную
тебе подсказать оператор присваивания в пхп?
-
я наверно, в хлам тупой :) но все таки, вот примерный код :
$o_line = "";
function error_handler ($level, $message, $file, $line, $context)
{
$o_line = $line;
}
set_error_handler (\'error_handler\');
//код с ошибкой
echo $o_line;
может я что-то не понял - напиши пожалуйста, как это сделать
-
Jean
тогда уж
function error_handler ($level, $message, $file, $line, $context)
{
global $o_line;
$o_line = $line;
}
-
спасибо
-
я считаю, что человеку, незнакомому с проблемой области видимости переменных (т.е. такому, который впервые функцию в глаза видит) рано заниматься собственной обработкой ошибок.
судя по всему, ему нужно всего лишь настроить правильно встроенную обработку ошибок.
[off]wow! козырный номер[/off]
-
>>судя по всему, ему нужно всего лишь настроить правильно
>>встроенную обработку ошибок.
ну и чтобы ты мне предложил?
-
Jean:
ну и чтобы ты мне предложил?
например подучить матчасть.
-
не понял, что за матчасть?
я имел ввиду, предложения по поводу правильно встроенной обработки ошибок.
Как еще можно обработать ошибку самому?
-
Jean:
что за матчасть?
http://www.php.net/manual/en/ref.errorfunc.php
-
ты обрабатываешь не ошибки, а сообщения о них. это большая разница. Я, например, не вижу никакого смысла запоминать сообщения.
по мне - так только записывать в лог, чтобы потом программер мог смотреть и исправлять код
-
RomikChef:
ты обрабатываешь не ошибки, а сообщения о них. это большая разница. Я, например, не вижу никакого смысла запоминать сообщения.
по мне - так только записывать в лог, чтобы потом программер мог смотреть и исправлять код
вообще мне не только нужно в лог записывать, но и на экран аккуратно выводить (не в самой error_handler),
потому как эта информация не для программера, а для пользователя, не будет же он в (непонятный ему какой и где) лог лезть
-
системные ошибки пхп юзеру сто лет в обед не нужны
что он будет делать с сообщением
cannot open stream - permission denied in ?
распечатает и на стенку повесит?
-
RomikChef:
системные ошибки пхп южеру сто лет в обед не нужны
что он будет делать с сообщением
cannot open stream - permission denied in ?
распечатает и на стенку повесит?
они ему нужны только в том случае, если он напишет скрипт (в textarea например) и попытается запустить
-
ну-ка ну-ка, с этого места поподробнее
что это за юзер такой шибко продвинутый, который скрипты в текстарии пишет?
-
это что ирония?
--------
создает объект типа Скрипт и прописывает ему код, а потом использует этот объект
-
Jean
Еще какая.
Вообще это немного идиотизмом попахивает.
Че мелочиться - то?
открой telnet на серваке и не парься - пуская они туда напрямки лезут.
-
Jean:
это что ирония?
это вопрос.
если ты делаешь для себя - хоть и не секурно, но ладно
но если для юзера с улицы - это идиотизм.
-
RomikChef:
если ты делаешь для себя - хоть и не секурно, но ладно
но если для юзера с улицы - это идиотизм
для юзера с улицы и "секурно"
-
не совсем с улицы
-
"секурно"
это тебе подсказал кто, или ты сам догадался?
-
ты сам это написал выше, если я правильно понял, что ты имеешь ввиду
у меня есть проверка на безопасность в таком Скрипте, и каждому подряд не будет доступа к его редактированию, только админам
-
Jean:
у меня есть проверка на безопасность в таком Скрипте
это не проверка, а фуфло.
еваля водимый код, о безопасности можешь вообще не заикаться.
я не знаю, что ты делаешь, и зачем тебе такой изврат, но запоммни - про слово "безопасность" просто забудь
-
не хочу со всеми вами тут ссориться :))
спасибо что помогли, а это действительно так
-
[OFF]бред какой-то...[/OFF]
-
все.
закрыли тему.