Следующие тестовые примеры должны работать, но работает только первый:
Код: Выделить всё
// 1. error_log - works fine
error_log("Written through the error_log function", 0);
// 2. PHP wrapper, ie php://stderr - does not work
$stderr = fopen( 'php://stderr', 'w' );
fwrite($stderr, "Written through the PHP error stream" );
fclose($stderr);
// 3. PHP wrapper also, different syntax, just to be safe - no effect either
file_put_contents( "php://stderr","Hello World" );
// 4. PHP wrapper, this time using this elusive constant referred to in the manual - result: "Notice: Use of undefined constant STDERR - assumed 'STDERR' ", ie: failed also!
file_put_contents( STDERR, "Hello World" );
В частности, сбивает с толку следующая цитата из руководства PHP по оберткам:
Рекомендуется просто использовать константы STDIN, STDOUT и STDERR вместо того, чтобы вручную открывать потоки с помощью этих [ссылающихся на php://stdin, php://stdout и php://stderr] оболочек."
...с учетом приведенного выше уведомления о неопределенной константе (я подозреваю, что эти константы могут использоваться только с PHP CLI?- но на странице, которую я цитирую, это не указано).
... p>
Мне интересно, может ли это быть связано с Windows, поскольку я использую XAMPP с PHP 5.3.8 для разработки, но учитывая отсутствие тем в Google и комментариев к PHP.net, я уже не так уверен. Сейчас у меня нет доступа к журналам рабочего сервера, чтобы я мог их протестировать
Подробнее здесь: https://stackoverflow.com/questions/138 ... der-apache
Мобильная версия