php 7 tempnam,[PHP] sys_get_temp_dir()和tempnam()函数报错与环境变量的配置问题

本文探讨了在PHP项目中遇到的保存临时文件失败的问题。通过排查发现与/tmp目录权限无关,而是由于php-fpm配置文件中指定的临时目录路径不正确导致。进一步解释了这些配置如何影响PHP函数及环境变量,并提到了框架内的.env文件作用。
摘要由CSDN通过智能技术生成

1.项目运行过程中遇到个问题,保存临时文件时,一直返回false

2.根据经验这个是在/tmp目录下建立临时文件,所以检查了一遍权限问题,发现权限没有问题

3.查出sys_get_temp_dir()这个返回的目录是/data1/phptmp

4.grep了一遍php-fpm的配置文件,找到这个位置

/etc/php-fpm.d/www.conf

env[tmp] = /data1/phptmp

env[tmpdir] = /data1/phptmp

env[temp] = /data1/phptmp

5.这个地方的配置会影响某些函数的功能 , 也会改变$_servr环境变量,开启了以后会看到增加了这个环境变量

ca5412a5d31121f8784fb979f09054f3.png

6.引申想查一下$_env环境变量 , 这个变量默认是空数组,只有在php.ini中开启了下面的时候才会有值,并且和$_server是一样的

default value: “egpcs”

7.那么一些框架在目录下放置.env文件,又是咋回事,测试后发现这些文件并不会改变上面$_env或者$_server变量的值,可能是某些框架内部单独去读取了这个文件

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值