我很惊讶这里没有提到这一点,但要在运行时设置这些值,请使用 "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
bool此选项启用 URL 识别 fopen 包装器,它们允许访问 URL 对象,就像访问文件一样。默认包装器用于使用 ftp 或 http 协议访问 远程文件,某些扩展(如 zlib)可能会注册额外的包装器。
allow_url_include
bool此选项允许将 URL 识别 fopen 包装器与以下函数一起使用:include,include_once,require,require_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