记一次排查PHP上传目录配置的经历

本文记录了一次排查PHP上传文件时临时目录配置的问题。当PHP在Windows环境下使用PHPStudy时,临时文件被默认存放在系统目录下。通过分析PHP源码和Windows API,发现原因是Apache未传递环境变量给PHP。解决方案包括在Apache配置中指定传递环境变量或直接修改PHP配置文件。
摘要由CSDN通过智能技术生成

最近在本地调试上传的文件,我发现了一个非常不好的”特征“,大家猜猜是什么:

是的,临时文件居然被放在了Windows系统目录下,对于有轻微”洁癖“的我来说是不可以接受的,我想知道这是什么原因。

首先,我本地的PHP环境是这样的:

  • Windows 10

  • PHPStudy 8.1 集成环境

  • PHP 7.3.4

  • Apache 2.4.39

那么,我们来找找隐藏在这个“不正常”的表象背后的原因吧!

PHP中的临时文件目录从哪来?

首先,我们先来看看文件上传时,临时目录应该从哪来。这是PHP文档中对upload_tmp_dir这个配置项的说明:

The temporary directory used for storing files when doing file upload. Must be writable by whatever user PHP is running as. If not specified PHP will use the system's default.

If the directory specified here is not writable, PHP falls back to the system default temporary directory.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值