首页 > 编程语言 >php:访问/tmp文件夹中文件会报错:file does not exist

php:访问/tmp文件夹中文件会报错:file does not exist

时间:2024-07-12 19:19:47浏览次数:16  
标签:tmp 文件 访问 does 报错 ex php

一,php访问/tmp文件夹中文件会报错:

代码:

            $filePath = "/tmp/php-temp/keji.jpeg";
            $is_ex = file_exists($filePath);
            //print_r("is_ex: ".$is_ex);
            if ($is_ex){
                echo "文件".$filePath."存在"."<br/>";
            } else {
                echo "文件".$filePath."不存在"."<br/>";
            }

报错信息:

文件/tmp/php-temp/keji.jpeg不存在

以上是通过nginx+php-fpm访问,

而相同的代码通过命令行访问则不存在这个问题:

文件/tmp/php-temp/keji.jpeg存在

 

二,原因:

php-fpm服务是通过systemd管理的,service文件如下:

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target


[Service]
Type=forking
PIDFile=/usr/local/soft/php8.3.9/var/run/php-fpm.pid
ExecStart=/usr/local/soft/php8.3.9/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true


[Install]
WantedBy=multi-user.target 

PrivateTmp=true表示使得服务拥有独立的临时文件系统,增加服务之间的隔离性,
此时/tmp目录下的文件禁止通过php访问,访问时即使文件存在也会报不存在
把PrivateTmp值改为false后则允许php访问/tmp目录下的文件

 

标签:tmp,文件,访问,does,报错,ex,php
From: https://www.cnblogs.com/architectforest/p/18299245

相关文章

  • 解决Tomcat 8.5在浏览器输入localhost:8080出现404报错的全面指南
    当你在浏览器中输入http://localhost:8080时,期望看到部署在ApacheTomcat8.5上的应用,但却遭遇404错误,这无疑是一件令人沮丧的事情。404错误通常表示服务器无法找到你请求的资源。本文将详细探讨导致此问题的各种原因以及相应的解决策略,帮助你排除故障,让应用正常运行。1.确认......
  • Rocky Linux/Redhat8运行Calibre2022报错:Software tree is for environment VCO=aoj
    运行出现了错误:virserver.tclerror:ERROR:CurrentexecutionenvironmentisVCO=aok.SoftwaretreeisforenvironmentVCO=aoj。即calibre软件版本为aoj,但当前的环境是aok。从官网查询calibre的roadmap:http://calibre.mentorcloudservices.com/docs/Calibre_OS_Roadmap.......
  • Fatal error: Call to a member function read() on a non-object in 错误解决方法(织
    大家都说这是因为织梦代码优化不好怎么着怎么着的,其实有一些是因为这个原因,但不是完全因为这个。dede登录后台卡死原因分析登录完后台,加载的分别为顶部、左侧、右侧内容三个部分。顶部只是简单的查询一下权限不会卡、左侧也是简单的查询了一下也不会卡,那么原因就是......
  • 【YashanDB知识库】yasql登录报错:YAS-00413
    【问题分类】错误码处理【关键字】yasql,00413【问题描述】使用工具设置不同并发迁移数据的过程中,导致yasql登录报错:YAS-00413【问题原因分析】工具使用与数据库使用资源超过了操作系统配置参数设置【解决/规避方法】●查看操作系统yashan用户当前打开文件文件数SQLlsof|......
  • 在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信
    在Linux系统中,当你遇到使用touchtest.file命令创建新文件时报错提示磁盘已满,但使用df-h命令查看磁盘使用率时却显示只有60%的磁盘空间被使用,这种情况可能由以下几个原因造成:inode耗尽:在Linux文件系统中,每个文件或目录都需要一个inode(索引节点)来存储其元数据(如权限、所有者......
  • Address already in use报错
    Addressalreadyinuse这个提示,想必大家遇到过,怎么能快速找到问题并解决呢?下面有几种姿势可以了解一下.在对网络连接或特定于应用程序的问题进行故障排除时,首先要检查的事情之一应该是系统上实际使用了哪些端口,以及哪个应用程序正在侦听特定的端口。本文介绍了如何使用netstat......
  • Apifox报错404:网络错误,请检查网络,或者稍后再试的解决办法
    详细报错如图:解决办法:1、检查请求方法(get,post)是否正确,请求的URL是否正确,如果不正确,修改后重新发起请求;如果都正确,再参考22、复制curl用postman来请求第一步apifox复制出curl第二步postman导入curl第三步发起请求,如下图响应成功......
  • 2024-07-11 npm publish报错合集
    报错1:ThispackagehasbeenmarkedasprivatenpmERR!你的包被设为私有模式了。npmERR!codeEPRIVATEnpmERR!ThispackagehasbeenmarkedasprivatenpmERR!Removethe'private'fieldfromthepackage.jsontopublishit.原因:你发布的包被标记为私有了,如果......
  • 服务器硬盘报错修复
    一、初步诊断查看报错信息:首先,需要仔细查看服务器的报错信息,了解硬盘报错的具体类型和代码。这些信息通常可以在服务器的BIOS、操作系统的事件查看器或硬盘的SMART报告中找到。评估硬盘状态:使用硬盘的SMART(自我监测、分析和报告技术)工具来评估硬盘的健康状况。SMART可以检测硬......
  • MYSQL——帆软连接报错
    2024/07/111.报错2.报错原因3.解决办法4.参考1.报错错误代码:11300001数据集配置错误<br>Query:<br>Unknowninitialcharactersetindex'255'receivedfromserver.Initialclientcharactersetcanbeforcedviathe'characterEncoding'property.日志里......