运行时配置

这些函数的行为受 php.ini 中的设置影响。

文件系统和流配置选项
名称 默认值 可更改 变更日志
allow_url_fopen "1" INI_SYSTEM  
allow_url_include "0" INI_SYSTEM 自 PHP 7.4.0 起已弃用。
user_agent NULL INI_ALL  
default_socket_timeout "60" INI_ALL  
from "" INI_ALL  
auto_detect_line_endings "0" INI_ALL 自 PHP 8.1.0 起已弃用。
sys_temp_dir "" INI_SYSTEM  

以下是配置指令的简要说明。

allow_url_fopen bool

此选项启用 URL 识别 fopen 包装器,它们允许访问 URL 对象,就像访问文件一样。默认包装器用于使用 ftp 或 http 协议访问 远程文件,某些扩展(如 zlib)可能会注册额外的包装器。

allow_url_include bool

此选项允许将 URL 识别 fopen 包装器与以下函数一起使用:includeinclude_oncerequirerequire_once

注意:

此设置要求 allow_url_fopen 为开启。

user_agent string

定义 PHP 要发送的用户代理。

default_socket_timeout int

基于套接字的流的默认超时时间(以秒为单位)。指定负值表示无限超时。

from string

用于未经身份验证的 FTP 连接的电子邮件地址,以及分别使用 ftp 和 http 包装器时,用于 HTTP 连接的 From 标头的值。

auto_detect_line_endings bool

如果开启,PHP 将检查 fgets()file() 读取的数据,以查看它是否使用 Unix、MS-Dos 或 Macintosh 行结束约定。

这使 PHP 能够与 Macintosh 系统进行互操作,但默认情况下为关闭,因为在检测第一行的 EOL 约定时,存在非常小的性能损失,并且因为在 Unix 系统下使用回车符作为项目分隔符的人会遇到不向后兼容的行为。

sys_temp_dir string

添加注释

用户贡献的注释 1 注释

116
Pistachio
12 年前
我很惊讶这里没有提到这一点,但要在运行时设置这些值,请使用 "ini_set()". 例如

<?php
ini_set
("auto_detect_line_endings", true);

// 现在我可以对包含愚蠢 \r 行结束符的文件调用 fgets()。
?>
To Top