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
    
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. 
?>Since PHP 8.1, PHP INI directive `auto_detect_line_endings` is deprecated. Setting it to true emits a PHP deprecation notice. This INI directive will be removed in PHP 9.0.
https://php.watch/versions/8.1/auto_detect_line_endings-ini-deprecated