php / php/php-src

error_log() doesn't respect error_log_mode INI setting

オープン
#12,777 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Category: Logging Extension: standard Feature
主要言語
C
スター
40.4k
フォーク
8.1k
平均マージ
2日 13時間
マージ済み PR(30日)
96

説明

Description

Logs created by PHP's error_log INI setting have the correct mode but the error_log() function appears to ignore the error_log_mode setting. I've tried setting error_log_mode using ini_set() and as a PHP-FPM php_admin_value.

The following code:

<?php
ini_set('error_log_mode', '0o200');
error_log('Something went wrong', 3, 'exceptions.log');

Resulted in this output:

-rw-r--r--. 1 apache apache 20 Nov 24 23:07 exceptions.log

But I expected this output instead:

--w-------. 1 apache apache 20 Nov 24 23:07 exceptions.log
PHP Version

PHP 8.2.13

Operating System

Rocky Linux 9.2 (Blue Onyx)

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、ini_set() で error_log_mode を設定し、error_log() で exceptions.log に書き込む PHP 8.2.13 の例を再現します。php-src における error_log の処理を追跡し、設定されたモードがメッセージタイプ 3 で作成されたファイルに影響することを確認します。報告された権限に対するリグレッションテストも含めてください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
c, php
領域
backend, operating-systems
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。