欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-19 23:16:59
1.项目运行过程中遇到个问题,保存临时文件时,一直返回false 2.根据经验这个是在/tmp目录下建立临时文件,所以检查了一遍权限问题,发现权限没有问题 3.查出sys_get_temp_dir()这个返回的目录是/data1/phptmp 4.grep了一遍php-fpm的配置文件,找到这个位置 ......

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

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

 

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

default value: “egpcs”

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