LINUX.ORG.RU

php не возвращает ошибки


0

1

ubuntu10.10 + LAMP

Проблема. Специально допускаю синтаксическую ошибку в php, в браузере пустой лист. ошибок нет, php работает нормально. В лог тоже не пишет.

в php.ini: error_reporting = E_ALL | E_STRICT display_errors = On log_errors = On error_log = /etc/home/user/mylog/php_errors.log error_reporting = E_ALL display_startup_errors = On log_errors_max_len = 1024 путь до ini смотрел проверял через phpinfo();

в .htaccess и в коде вывод ошибок не запрещал.

обсуждение уже поднимал тутhttp://forum.ubuntu.ru/index.php?topic=122048.0, пока ответа не получил. Надеюсь здесь найду помощь.



Последнее исправление: keysi_ (всего исправлений: 2)

почему error_reporting установлен 2 раза? как можно так относиться к конфигам? оставь только error_reporting = E_ALL

по теме - чудес не бывает. если у тебя пхп подключен как модуль апача, значит, ты забыл рестартануть апач после исправления конфига. возможно, ты настроил не тот конфиг (например, для cgi, а надо /etc/php5/apache2/php.ini). чтоб ошибки писались в файлы, надо убедиться, что пользователю апача разрешен в них доступ.

heisenberg ★★
()

Ты где-то ошибку допустил в конфиге. Такого не может быть. Либо не тот конфиг выбрал.
Или в том коде, который ты используеш, выключён показ ошибок

impr
()
Ответ на: комментарий от heisenberg

ты забыл рестартануть апач после исправления конфига

уж не первый мучаюсь, так что перегружал сотню раз. Права на логи проверял. Настройки которые я делаю видны в phpinfo(); поэтому «не тот» php.ini тоже отпадает. До сегодня грешил на небольшой срок опыта администрирования apache под nix. Но сейчас больше похоже на то что это конфликт с другой программой (что я искренне думал на линуксе исключено...) либо это уже волшебство.

Вы подтолкните плз где рыть, какие логи может показать. У меня уже сил нет, волшебство какоето.

keysi_
() автор топика
Ответ на: комментарий от impr

Дерево сайта: test.loc(chmod 777)/index.php(chmod 666) (других файлов нет)

Содержимое index.php:

<?php

echo "Hello world 1"
echo "Hello world 2 ";

//phpinfo();

?>
когда ставлю ; на место все работает.

error.log сайта:

[Fri Nov 05 00:22:27 2010] [error] [client 127.0.0.1] File does not exist: /home/user/webservers/test.loc/favicon.ico
[Fri Nov 05 00:22:27 2010] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 283 to 218 : URL /favicon.ico
ошибок php не вижу

error.log apache:

[Thu Nov 04 23:48:35 2010] [notice] caught SIGTERM, shutting down
[Thu Nov 04 23:48:36 2010] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.1 with Suhosin-Patch configured -- resuming normal operations
[Thu Nov 04 23:50:09 2010] [notice] caught SIGTERM, shutting down
[Thu Nov 04 23:50:10 2010] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.1 with Suhosin-Patch configured -- resuming normal operations

Что еще надо показать, вроде все что вспомнил.

keysi_
() автор топика
Ответ на: комментарий от keysi_

Да вот еще. /etc/apache2/sites-available/test.loc

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName test.loc
	ServerAlias www.test.loc
	DocumentRoot /home/user/webservers/test.loc
	<Directory /home/user/webservers/test.loc>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride all
		Order allow,deny
		allow from all
	</Directory>
	DirectoryIndex index.php index.html index.htm
	ErrorLog /home/user/webservers/test.loc/error.log
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel debug
	CustomLog /home/user/webservers/test.loc/access.log combined
</VirtualHost>

сим линк в sites-enabled присутствует, конечно же.

keysi_
() автор топика

Всем огромное спасибо. Было очень приятно получить поддержку когда уже нет сил. Как ни странно дело было в 10 строчках коммента в файле sites-available/test.loc . Убрал - все заработало.

keysi_
() автор топика

И наступило утро..

Вот комментарий, просто шпаргалку оставлял.

# <VirtualHost *:80>
# 	# Мыльник админа - необязателен
# 	ServerAdmin webmaster@localhost
# 	# имя сервера
# 	ServerName  mydomen.loc
# 	# алис сервера
# 	ServerAlias www.mydomen.loc
# 	# порядок поиска индексных файлов	
# 	DirectoryIndex index.php index.html index.htm
# 	# Корневая директория для данного вирт. хоста
# 	DocumentRoot /home/user/webservers/mydomen.loc
# 	# Установки для каталога
# 	<Directory /home/user/webservers/mydomen.loc>
# 		Options FollowSymLinks MultiViews
# 		AllowOverride None
# 		Order allow,deny
# 		allow from all
# 	</Directory>
# 	# лог ошибок
# 	ErrorLog /home/user/webservers/logs/mydomen.loc/errors.log
# 	# Possible values include: debug, info, notice, warn, error, crit,alert, emerg.
# 	LogLevel notice
# 	# лог доступа
# 	CustomLog /home/user/webservers/logs/mydomen.loc/access.log combined
# </VirtualHost>

Но на утро все вновь перестало работать. Уже без комментария. Блин, ума не приложу что же могло произойти. Такое ощущение, что ubuntu меня просто спасть отправила, чтобы я ее не задалбливал...

Ведь ничего не менял, как вечером комент удалил, сервер перегрузил, увидел что все работает, отписался на фруме, выключил комп. Сутра включил проверить не приснилось ли мне, и ... видимо приснилось.

keysi_
() автор топика
Ответ на: комментарий от trashymichael

Судя по тому что и без комента теперь не работает, дело было не в коменте, что с сервером могло произойти после перезагрузки?

keysi_
() автор топика

1) Ось какая? В венде ошибки могут перенаправляться в системный лог, который надо смотреть через EventViewer (правой кнопкой по «моему компьютеру», пункт «управление», потом «журнал событий» (или как-то так), и там уже роешься).

2) Что говорит phpinfo? Параметр error_reporting тупо не прочитался из конфига, или прочитался но не используется?

3) Чем запускаешь сервак - скриптами из /etc/rc.d/, через apachectl, напрямую экзешник? //т.е. поройся в своих скриптах и глянь насколько извращенским способом запускается апач

4) Сервак действительно имеет права писать логи туда, куда должен их писать?

5) Есть какие-нибудь критические ошибки самого сервака или PHP при старте? Типа «аааа, php5: segmentation fault» или типа того

6) В слову E_STRICT буква C написана по русски или по-английски? )))

7) Если конфиг скопирасчен с вендового PHP - проверить переносы строк, а лучше взять сразу линуксовый шаблон


... ну и еще тыщи разных)


10) Попробуй пересобрать апач и/или PHP из исходников в хомячке. Проверь, заработало ли.

stevejobs ★★★★☆
()
Ответ на: комментарий от keysi_

>Права на логи проверял.

на /etc/home/user/mylog/php_errors.log тоже? Там вообще что-нибудь есть?

nu11 ★★★★★
()
Ответ на: комментарий от stevejobs

Ого, мне лесно, что ответ поступил от самого Джобса :)

1. Ubuntu 10.10

2. Читается, при внесении изменения все меняется

3. /etc/init.d/apache2 start

4. Да имеет.

5. Логи я описал выше.

6. copy - past не ошибается

7. Вот этот совет натолкнул на мысль, которая и сработала. Об этом ниже.

10. Пробовал, исход тотже, даже на чистой системе.

/etc/home/user/mylog/php_errors.log - пусто.

Вобщем дело в параметре AllowOverridе, видимо я пока настраивал вчера, случайно убил mode_rewrite. Сегодня же я специально поменял AllowOverride All на AllowOverride None. Ошибки сразу заискрили на экране :).

modrewrite мне очень нужен, я его при настройке всегда сразу включал (я же не подозревал что такое может быть!!!)

Теперь вопрос, почему modrewrite конфликтует с выводом ошибок PHP?

keysi_
() автор топика
Ответ на: комментарий от keysi_

А по пути от корня ФС к корню сайта нигде .htaccess не завалялся? В нём может быть что-то вида

php_value error_reporting 0

или

php_flag display_errors Off

которые переопределяют значения в php.ini.

sjinks ★★★
()
Ответ на: комментарий от sjinks

А вообще, как правильно посоветовали, смотрите выхлоп phpinfo() на предмет того, подхватились ли настройки из конфигов и какие конфиги PHP читает.

sjinks ★★★
()

Тоже мучаюсь. Все по дефолту, кроме прав на /var/www.

moscwich
()
16 декабря 2010 г.

кто пишет логи в etc? в /var же надо писать

guilder
()
11 октября 2011 г.

Посмотрите, не встречается в php.ini ниже еще одна директива display_errors = Off

anonymous
()

путь до ini смотрел проверял через phpinfo();

А значения переменных соответствуют предполагаемым (в выдаче phpinfo)? Ты же понимаешь, чудес не бывает.

baverman ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.