|
|
|
| Как сделать, что-бы ошибки PHP не вылезали на поверхность сайта и выполнение скрипта не прекращалось. | |
|
|
|
|
|
|
|
для: roma67
(10.04.2012 в 19:45)
| | Добавьте в начало скрипта следующий вызов
<?php
error_reporting(E_ALL & ~E_NOTICE);
?>
|
| |
|
|
|
|
|
|
|
для: roma67
(10.04.2012 в 19:45)
| | >Как сделать, что-бы ошибки PHP не вылезали на поверхность сайта
error_reporting()
>выполнение скрипта не прекращалось.
Писать скрипт без ошибок. | |
|
|
|
|
|
|
|
для: Киналь
(10.04.2012 в 19:48)
| | > Писать скрипт без ошибок.
Не заслуженно обижаете.
Я пишу под хостеров, но у них у всех разная среда, есть функции, которых нет у других или локально.
Так как настройки у хостеров отличаются, то при тестировании локалном выскакивают фатальные ошибки.
Поэтому при использовании error_reporting(0)- все функции хостера, как фатальные ошибки выскакивают и останавливают исполнение.
Можно возится и на каждого хостера придумывать настройки.
А мне хочется как то использовать, например исключения, но не получается, так как не строчка а блок кода вызывает фатальную ошибку.
Как при фатальных ошибках на локальном исключить прерывание исполнения кода, который правильно работает у хостера | |
|
|
|
|
|
|
|
для: roma67
(11.04.2012 в 17:54)
| | Так я не обижаю. Если скрипт выдал фатальную ошибку, это значит, что он не может работать, эту ошибку нужно устранить. Описанную вами проблему можно решить, например, при помощи function_exists(). | |
|
|
|
|
|
|
|
для: Киналь
(11.04.2012 в 18:05)
| | Интересно. В PHP различаются ошибки разного типа.
Тут у меня не ошибка, а не знание.
Я не знаю, как прервать выполнения блока кода. Может 20, 50, 100 строк.
А вы мне предлагаете function_exists().
Спасибо. Но это и будет ошибкой, если в каждой строке по 5 раз прописывать
Там блог кода.Извините что повторяюсь.
Не один блог кода, которые надо как то ПРОСТО исключить из работы PHP в локальной среде.
Конечно не ошибкой будет, просто подгружать файлы у хостера, но профессионального мало
Мне как факт грамотного тестирования важен, без ошибки самоделок.
У меня ошибки наверное при работе с исключениями.
Повторюсь, что PHP error_reporting(0), воспринимает не знакомые функции и объекты с переменными, как фатальную ошибки.
Прописывать function_exists() - не везде можно, и код ужасно выглядеть будет
Может есть другой вариант(другая ошибка :) ) | |
|
|
|
|
|
|
|
для: roma67
(11.04.2012 в 18:18)
| | Так вы говорите, проблема в том, что некоторые функции у хостеров отсутствуют, а локально есть (и наоборот). В связи с этим, если я правильно понял, в зависимости от наличия или отсутствия той или иной функции должны выполняться разные блоки кода. Ну так
<?php
if (function_exists('mega_function_name'))
{
// Блок кода №1
}
else
{
// Блок кода №2
}
?>
|
| |
|
|
|
|
|
|
|
для: Киналь
(11.04.2012 в 18:47)
| | Спасибо. Там много функций, в каждой строчке функция, которую не знает локалка.
Можно конечно не делать и ошибки у меня не будет.
Но тогда не будет универсальности, адаптивности у кода
Типа в 1с можно можно так
Попытка
...
...
.. //100-10000 строк
исключение
...
...
КонецПопытки
|
Там что то вроде этого, подзабыл (у меня может быть ошибка вспоминания и возможна неточность написания)
Может инерция мне мешает. Но это как бы идеал для меня.
Почему TRY использовать я не могу ?
http://ru2.php.net/exceptions
try {
....
....
} catch (Exception $e) {
echo 'Выброшено исключение: ', $e->getMessage(), "\n";
}
|
Этот кусок не работает. (Сервер занят и еще там что-то пишет)
У меня ошибка при написании исключения или в PHP это невозможно, или что-то еще другое?
Если у меня, то какая? Может я мало информации даю: ответов много может быть и поэтому мой вопрос некорректен | |
|
|
|
|
|
|
|
для: roma67
(11.04.2012 в 19:18)
| | С исключениями работать не умею, увы, так что посоветовать ничего не могу. Я бы выкрутился без них, но с исключениями, конечно, правильнее. Надеюсь, скоро в теме появится более сведущий человек) | |
|
|
|
|
|
|
|
для: Киналь
(11.04.2012 в 19:51)
| | Жаль, спасибо, спасибо за искрению помощь.
Правильно, в принципе можно обойтись, но если у заказчика, чего-то выскочит, то это ошибка измерятся будет личным доходом.
А руками подключать и отключать во время отладки можно, но может быть ошибка отладки. | |
|
|
|