I'm surprised this isn't mentioned in docs here, but to set these values at runtime use "ini_set()". For example:
<?php
ini_set("auto_detect_line_endings", true);
// Now I can invoke fgets() on files that contain silly \r line endings.
?>
这些函数的行为受 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
This option allows the use of URL-aware fopen wrappers with the following functions: include, include_once, require, require_once.
注意:
这个设置项需要开启 allow_url_fopen 。
user_agent
string
定义 PHP 发送的 User-Agent。
default_socket_timeout
int
指定基于 socket 的流的默认超时时间(秒)。指定一个负值意味着不会超时。
from
string
这个 email 地址在使用 ftp 封装器的时候用于未认证的 FTP 连接,在使用 http 封装器的时候用于 HTTP 连接的消息头中的 From 字段。
auto_detect_line_endings
bool
当设为 On 时,PHP 将检查通过 fgets() 和 file() 取得的数据中的行结束符号是符合 Unix,MS-DOS,还是 Macintosh 的习惯。
这使得 PHP 可以和 Macintosh 系统交互操作,但是默认值是 Off,因为在检测第一行的 EOL 习惯时会有很小的性能损失,而且在 Unix 系统下使用回车符号作为项目分隔符的人们会遭遇向下不兼容的行为。
sys_temp_dir
string