[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變量的值,可能是某些框架內部單獨去讀取了這個文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM