2024 PHP 日本大会

运行时配置

这些函数的行为受 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 布尔值

此选项启用 URL 感知 fopen 封装器,允许访问类似文件的 URL 对象。默认封装器提供对使用 ftp 或 http 协议的 远程文件 的访问,一些扩展(如 zlib)可能会注册其他封装器。

allow_url_include 布尔值

此选项允许将 URL 感知 fopen 封装器与以下函数一起使用:includeinclude_oncerequirerequire_once

注意:

此设置要求 allow_url_fopen 为开启状态。

user_agent 字符串

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

default_socket_timeout 整数

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

from 字符串

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

auto_detect_line_endings 布尔值

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

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

sys_temp_dir 字符串

添加注释

用户贡献的注释 1 条注释

Pistachio
12 年前
我很惊讶这里文档中没有提到这一点,但是要在运行时设置这些值,请使用“ini_set()”。例如

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

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