php - 默认 php.ini 变量路径位置(session.save_path、soap.wsdl_cache_dir、upload_tmp_dir)

标签 php

我想知道如何为 Windows、Mac、Linux 上的每个值确定默认值:

  • session.save_path
  • soap.wsdl_cache_dir
  • upload_tmp_dir

    1. 还有您知道的涉及文件系统路径的任何其他 php.ini 变量吗?

    2. 根据我对 Windows 的调查,session.save_path 似乎是 C:\Windows\Temp。这是一个安全的地方吗?什么时候删除?

最佳答案

如何确定默认值

session.save_path

对于session.save_path,默认使用php.ini定义的值,否则路径在这里确定:

https://github.com/php/php-src/blob/master/ext/session/mod_files.c#L264

这调用了定义在这里的 php_get_temporary_directory:

https://github.com/php/php-src/blob/master/main/php_open_temporary_file.c#L192

soap.wsdl_cache_dir

soap.wsdl_cache_dir 尝试使用定义的 php.ini 值。如果找不到,它将通过以下代码默认为 /tmp:

https://github.com/php/php-src/blob/master/ext/soap/soap.c#L520

在此处阅读有关 STD_PHP_INI_ENTRY 的更多信息:http://docstore.mik.ua/orelly/webprog/php/ch14_12.htm

upload_tmp_dir

upload_tmp_dir 设置为 NULL(但将使用 php.ini 覆盖),以及许多默认值,在:

https://github.com/php/php-src/blob/master/main/main.c#L579

STD_PHP_INI_ENTRY("upload_tmp_dir", NULL, PHP_INI_SYSTEM, OnUpdateStringUnempty, upload_tmp_dir, php_core_globals, core_globals)

并在此处用于文件上传:

https://github.com/php/php-src/blob/master/main/rfc1867.c#L1006

fd = php_open_temporary_fd_ex(PG(upload_tmp_dir), "php", &temp_filename, 1 TSRMLS_CC);

这个函数,如果传入一个空的upload_tmp_dir,默认使用我们之前提到的php_get_temporary_directory函数。

还有您知道的涉及文件系统路径的任何其他 php.ini 变量吗?

有很多。快速浏览 https://github.com/php/php-src/blob/master/main/main.c显示大量使用路径的默认配置(open_basedirinclude_pathsys_temp_dirextension_direrror_log 仅举几例)。此外,扩展有自己的配置集合,其中可能包含路径参数。

根据我对 Windows 的调查,session.save_path 似乎是 C:\Windows\Temp。这是一个安全的地方吗?什么时候删除?

在 Windows 上打开临时文件时,PHP 将权限设置为运行您的网络服务器的用户独占,这应该意味着只有它和管理员才能访问文件的内容:

https://github.com/php/php-src/blob/master/main/php_open_temporary_file.c#L149

关于php - 默认 php.ini 变量路径位置(session.save_path、soap.wsdl_cache_dir、upload_tmp_dir),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24328564/

相关文章:

javascript - 如何将 PHP 循环转换为 JSON 循环?

php - 从文本文件 extensi .job 中读取特定值

php - 获取页面上的当前类别名称,该页面按类别和自定义元键过滤帖子

php - 此模式的 preg_match_all

php - 调用 javascript 表单 php

php - 在 POSTMAN 上使用 PUT 方法上传文件

php - MySQL - 按时间间隔返回登录尝试

php - php、perl 和 python 中的 HTTP header

php - 查找具有特定文本的文件并删除该文本

javascript - 如何使用 Vue JS 遍历数组的值?