webew
Войти » Регистрация
 
PHP

Вывод ошибок на экран при выполнении скриптов PHP

1 сентября 2008, 10:05
Автор: 1234ru
Допустим, есть код на PHP с ошибкой. По понятным причинам, интерпретатор языка прекращает обработку программы, как только находит ошибку.
Однако, не всегда она выводится на экран.
Не помогает ни error_reporting('E_ALL');, ни ini_set('display_errors', 1);, ошибка лишь отражается в логах apache.

Можно ли все-таки добиться вывода ошибок на экран в любом случае?
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
NO USERPIC

rgbeast

Надо не забыть установить ini_set('display_errors','On');

В PHP5 E_ALL не включает E_STRICT, надо указывать E_ALL | E_STRICT, в PHP 6 E_ALL включает E_STRICT http://ru2.php.net/error_reporting
01.09.2008, 10:28
Ответить

1234ru

А бывает, что все это не помогает? (например, какая-то настройка апача, которая не даёт из скрипта менять режим вывода ошибок?)
То, что не убивает нас, делает нас инвалидами.
05.10.2008, 22:17
Ответить
NO USERPIC

rgbeast

Настройка апача AllowOverride None/All повлияет только если исправление вносится через .htaccess. ini_set() функция php и зависит от настроек самого php.
05.10.2008, 22:31
Ответить

1234ru

Можно ли настроить так, чтобы она не работала? (в смысле, не могла менять режимы)
То, что не убивает нас, делает нас инвалидами.
05.10.2008, 22:40
Ответить
NO USERPIC

rgbeast

Судя по документации php, нельзя: http://ru2.php.net/manual/ru/ini.php#ini.list
05.10.2008, 23:16
Ответить

1234ru

Ясно. Спасибо.
То, что не убивает нас, делает нас инвалидами.
06.10.2008, 00:29
Ответить

1234ru

Код

<?php

error_reporting(E_ALL | E_STRICT) ;
ini_set('display_errors', 'On');

echo 'asdf';

!@$ // тут специально допущена ошибка - должен реагировать

?>

не приводит к выводу ошибок (хотя и не работает: на экран не выводится в т.ч. строка 'asdf')

Почему такое может быть?
То, что не убивает нас, делает нас инвалидами.
14.11.2008, 02:10
Ответить
NO USERPIC

rgbeast

Вполне выдает ошибку:
PHP Parse error: syntax error, unexpected ';', expecting T_VARIABLE or '$' in /home/rgbeast/a.php on line 10

Попробуй в php.ini исправить эти параметры.
15.11.2008, 12:07
Ответить

1234ru

Стоит
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off

Сервер не мой, менять ini не могу

error_reporting(E_ALL | E_STRICT) и ini_set('display_errors', 'On') не работают

Получается, ничего не сделаешь?
То, что не убивает нас, делает нас инвалидами.
20.11.2008, 12:57
Ответить
NO USERPIC

rgbeast

Вполне возможно, что php скомпилирован так, что параметры изменяются только в php.ini. Иногда ошибки попадают в error.log апача.
20.11.2008, 13:41
Ответить

1234ru

Не, в error.log'е-то они есть. Только мне не хочется каждый раз туда лазить - неудобно.
То, что не убивает нас, делает нас инвалидами.
20.11.2008, 13:54
Ответить

1234ru

В .htaccess вписал первой строчкой
php_value display_errors 1

Стал выводить ошибки из непосредственно того скрипта, к которому обращается, а из include - нет.

Как вывести ошибки и из подключаемых файлов?
То, что не убивает нас, делает нас инвалидами.
20.11.2008, 17:48
Ответить
NO USERPIC

rgbeast

.htaccess в корне лежит?
20.11.2008, 20:49
Ответить

1234ru

В том каталоге, где скрипт выполняется.
php_value display_errors 1 точно работает, т.к. если убрать, то перестают выводиться ошибки даже из самого скрипта непосредственно.
То, что не убивает нас, делает нас инвалидами.
20.11.2008, 21:16
Ответить
NO USERPIC

rgbeast

Распространяется ли действие .htaccess на файлы, которые внутри include? Они ведь в других каталогах
20.11.2008, 21:35
Ответить

1234ru

Нет, в моем случае он был в том же каталоге.

Хотя вопрос интересный...
То, что не убивает нас, делает нас инвалидами.
20.11.2008, 22:06
Ответить

1234ru

Если честно, не совсем правильно сформулировал. Не error_reporting(E_ALL | E_STRICT); стоял, а error_reporting('E_ALL' | 'E_STRICT');. Мне всегда казалось, что это одно и то же.
Тем не менее, когда убрал кавычки, ошибки стали показываться.

Правда, опять же не в include-файлах.
То, что не убивает нас, делает нас инвалидами.
21.11.2008, 08:59
Ответить
NO USERPIC

pluton

header("Content-type: text/html; charset=utf-8");
header("Cache-Control: no-cache");

эти строки выдают на хосте ошибку не удаётся изменить информацию плиз тут есть ошибка??
pluton
04.02.2012, 12:33
Ответить
NO USERPIC

rgbeast

Эти команды должны вызываться до любого вывода скрипта, так как заголовки отправляются клиенту с первой информацией страницы. Если до них есть echo или html-код вне php (часто бывает просто перенос строки или пробел перед <?php или после ?>), то возникнет предупреждение (которое можно отключить, но от отключения команды работать не станут).
04.02.2012, 16:35
Ответить
NO USERPIC

pluton

на кирилическом домене изменил скрипт выдало эту ошибку,типа заголовок изменить не удаётся,и назад тоже не получается исправить,после этих команд есть пробел и команда echo
pluton
04.02.2012, 16:52
Ответить
NO USERPIC

rgbeast

Что стоит до этих команд вне блока <?php ?> ?
Если ничего, но есть include, то нет ли лишнего в включаемых файлах?
04.02.2012, 17:07
Ответить
NO USERPIC

pluton

<?php вот это до команд и всё файл index.php
pluton
04.02.2012, 17:16
Ответить
NO USERPIC

rgbeast

Приведите точное сообщение об ошибке. Проведите эксперимент - новый файл следующего содержания:
<?php
header("Content-type: text/html; charset=utf-8");
header("Cache-Control: no-cache");
echo "Hello W";
?>

Будет ли ошибка и какая?
04.02.2012, 18:14
Ответить
NO USERPIC

pluton

файл с именем индех ошибки нет Hello W
файл с именем new не чего не меняется
pluton
04.02.2012, 18:37
Ответить
NO USERPIC

rgbeast

В самих командах нет ошибки, поэтому такое поведение нормально
04.02.2012, 19:48
Ответить
NO USERPIC

pluton

ура нашёл ошибку!!!!!! -на странице где есть ошибка можно высветить коды на компе вот она такая красивая <br />
надо так <br> только где её найти много файлов
pluton
05.02.2012, 00:06
Ответить

1234ru

Если ошибка в PHP - должен быть написан конкретный файл и строка, в которой ошибка.
Если у Вас не так - приложите снимок экрана (файл загрузить можно здесь).
То, что не убивает нас, делает нас инвалидами.
05.02.2012, 00:16
Ответить
NO USERPIC

rgbeast

Приведите несколько первых строчек файла /home/pluto159/domains/xn--80abn5aath.xn--p1ai/public_html/shapka.php
05.02.2012, 02:07
Ответить
NO USERPIC

pluton


<?php
@ini_set('session.use_cookies','0');

@ini_set('session.use_trans_sid','0');

@ini_set('url_rewriter.tags','');

if(@$str!='wml' and @$str!='xhtml')
{
if(strstr($_SERVER['HTTP_ACCEPT'], 'wml') and !strstr($_SERVER['HTTP_ACCEPT'], 'html'))
$str='wml';
else
$str='xhtml';
}
header('Cache-control: no-cache');
if(@$str=='wml')
{
header('Content-type: text/vnd.wap.wml');
$begin='<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml_1.3.xml">
<wml><card id="main" title="Ы =)"><p align="left"><small>';
$razd='------<br/>';
$endpage='<a href="http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?str=xhtml&amp;cl='.@$ses.'&amp;ref='.@$ref.'">WAP 2.0</a>| WAP 1.1<br/></small>'.$_SERVER['HTTP_HOST'].'</p></card></wml>';
$str='wml';
}
else
{
$begin='<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
pluton
05.02.2012, 02:23
Ответить
NO USERPIC

rgbeast

в первой строчке перед <?php нет ли пробела, переноса строки или еще какого-то символа? Попробуйте переписать эту строчку
05.02.2012, 02:48
Ответить
NO USERPIC

pluton

в файле add нет php только <?

в шапке всё норма
pluton
05.02.2012, 02:56
Ответить
NO USERPIC

rgbeast

Ищите методом исключения - начните с работающего скрипта и усложняйте его пошагово, чтобы привести к тому, что у Вас
05.02.2012, 03:16
Ответить
NO USERPIC

pluton

это горько,смешно это цирк,праздник

горько,мозги парил искал ошибки
смешно,что через FTP не работает ,я исправил и работает через Директ Админ
праздник и салют,сайт уже готов Ура!!!!!!
pluton
05.02.2012, 03:41
Ответить
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
© 2008—2024 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100

Реклама: