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

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环境变量,开启了以后会看到增加了这个环境变量

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

Default Value: “EGPCS”

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

原文地址:https://www.cnblogs.com/taoshihan/p/10731566.html