PHP 8.2: 新增 error_log_mode INI 设置项用来设置错误日志文件权限
PHP 8.2 引入新的 INI 指令叫做 error_log_mode
,可用作配置 PHP 错误日志文件的文件权限(用 error_log
指令配置)。
在 PHP8.2之前, PHP 将文件权限自动设置为 0644
(相当于 rw-r--r--
,即 owner 可读写,group 和 public 只读)。对于新增的 error_log_mode
指令,0644
仍然是默认值,不过限制可以通过 INI 设置配置错误日志文件权限了。
log_errors=1
error_log=error_permissions_test.log
error_log_mode=0644
error_log_mode
只影响PHP新建的日志文件。已有文件的权限不会被修改。
error_log_mode
的可更改值为 PHP_INI_ALL
,可以在任何 INI 文件、命令行参数或通过 ini_set
函数进行配置。
向后兼容性影响
在较旧的 PHP 版本中声明 error_log_mode
INI 指令不会导致任何警告或错误,因为 PHP 会忽略无法识别的 INI 指令。