-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в lj_ru_php

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 07.06.2005
Записей:
Комментариев:
Написано: 9


Как правильно писать из php в stderr?

Понедельник, 03 Июня 2019 г. 18:12 + в цитатник
Я использую на своём веб-сайте Wordpress с plugin'ом "LiveJournal Crossposter Remake", который копировал мои посты в LJ, а потом в DW.
Но недавно он почему-то перестал это делать, хотя ни на самом сайте, ни в логах никаких ошибок не виднеется.
Я решил в том скрипте приделать записи в apache'вский error_log, чтобы последить, какие функции там запускаются, и что они делают, и увидеть, какие функции там не работают.

Вроде бы для записи в error_log, из PHP достаточно просто писать в STDERR:
fwrite(STDERR, "message\n");


В тестовом скрипте, который я вручную запускал, это вполне работало,
а в том livejournal-crossposter-remake.php почему-то вовсе не сработало,
в error_log'е вместо них появилась куча сообщений об ошибках в этом PHP-скрипте:
[error] [client мойIP-адрес] PHP Warning: fwrite() expects parameter 1 to be resource, string given in /path-to/www/blog/wp-content/plugins/livejournal-crossposter-remake/livejournal-crossposter-remake.php on line 99
и про остальные строки этого скрипта, куда я добавил такой fwrite()..

Погуглил, как вручную обратиться к stderr, и добавил в начале скрипта:
$STDERR=fopen('php://stderr', 'w');

А в функциях вот так:
global $STDERR;
fwrite($STDERR, "message\n");

вроде уже работает.

Так что же не так с оригинальным fwrite(STDERR,...) ?

https://ru-php.livejournal.com/1576639.html


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку