我很惊讶这里文档中没有提到这一点,但是要在运行时设置这些值,请使用“ini_set()”。例如
<?php
ini_set("auto_detect_line_endings", true);
// 现在我可以对包含愚蠢的 \r 换行符的文件调用 fgets()。
?>
这些函数的行为受 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 封装器与以下函数一起使用:include,include_once,require,require_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
字符串