通过 nginx 访问时,php 在 /tmp/systemd-private-nABCDE/tmp 中有自己的 /tmp

2024-01-24

我发现奇怪的行为php and /tmp文件夹。 Php 在使用时使用另一个文件夹/tmp。 PHP 5.6.7、nginx、php-fpm。

我以两种方式执行相同的脚本:通过浏览器和通过 shell。但是当通过浏览器启动时,文件不是真实的/tmp folder:

<?php
$name = date("His");

echo "File /tmp/$name.txt\n";

shell_exec('echo "123" > /tmp/'.$name.'.txt');

var_dump(file_exists('/tmp/'.$name.'.txt'));

var_dump(shell_exec('cat /etc/*release | tail -n 1'));

php -f script.php

File /tmp/185617.txt
bool(true)
string(38) "CentOS Linux release 7.0.1406 (Core)

文件在哪里?在 /tmp 中

$ find / -name 185617.txt
/tmp/185617.txt

如果通过访问它http://myserver.ru/script.php I get

File /tmp/185212.txt
bool(true)
string(38) "CentOS Linux release 7.0.1406 (Core)

但文件在哪里?

$ find / -name 185212.txt
/tmp/systemd-private-nABCDE/tmp/185212.txt

为什么 php 会这样认为/tmp应该在/tmp/systemd-private-nABCDE/tmp?


Because systemd 配置为给 nginx 一个私有的 /tmp http://0pointer.de/blog/projects/security.html。如果你must由于某种原因使用系统 /tmp,那么您将需要修改 .service 文件以读取“PrivateTmp=no”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 nginx 访问时,php 在 /tmp/systemd-private-nABCDE/tmp 中有自己的 /tmp 的相关文章

  • nginx工作进程如何共享“监听套接字”

    This http aosabook org en nginx html http aosabook org en nginx html说 工作进程接受来自共享 监听 套接字的新请求 并在每个进程内执行高效的运行循环 我查看了代码 但不明白
  • xpath查询到xpath查询结果

    例如我们有这个 xml a b b a
  • PHP 中是否存在不调用析构函数的情况?

    这是我第一次在 stackoverflow 上发帖 但这些帖子对我帮助很大 无论如何 关于我的问题 是否有 PHP 中的析构函数未被调用的情况 我问的原因是因为我有一个映射器类 它将数据映射到对象 在构造函数中 我启动一个事务 在析构函数中
  • 在浏览器关闭时删除 cookie,而不是在页面刷新时删除

    我看到很多关于同样问题的帖子 但我没有得到确切的解决方案 我想使用 javascript 删除浏览器或选项卡关闭事件上的 cookie 我已经做了删除cookie功能并调用了卸载前事件 但我看到该事件在页面刷新时也被调用 我不想在页面刷新时
  • 在表中显示ajax响应

    显示 html div style display none table class table p Select All p table div
  • Laravel 输入:get() 不起作用

    我正在尝试在 Laravel 4 中使用 post 函数 我的表单有许多字段 在提交时 会转到控制器中的 post 函数 问题是 表单中的字段名称之间有空格 例如 Type 1 是输入的名称 中间有一个空格 现在 当我尝试通过执行以下操作来
  • 关于 Yii2 RBAC 的疑惑

    到目前为止 我一直在使用 Yii 1 1 14 开发 Web 应用程序 但现在是时候进行升级了 我工作的公司开发了自己的访问控制系统 我对它真的很满意 直到我看到它到底是什么样子 数据库中8个表的组合 不包括用户表 还有一堆外键 1 个控制
  • 获取给定月份的所有日期和日期

    想要检索给定月份的所有日期和日期 目前有这个显示当月的所有天数 但我如何解析指定的月份 list array for d 1 d lt 31 d time mktime 12 0 0 date m d date Y if date m ti
  • 为什么旋转图像时会出现黑色边框? PHP GD

    此代码使用 GD 生成两张图像并旋转其中一张 当我旋转图像时 黑色边框开始出现 有人知道如何解决这个问题吗
  • Selinux 阻止来自 php 的 crontab 命令

    我们的服务器上有 Fedora 25 和 apache 我想要这样做 以便我们网站上的 php 脚本可以更改 crontab 设置 我创建了以下测试 php 脚本
  • 将我的数据库类与项目中的其他类一起使用

    我有一个自己编写的自定义数据库类 还有一个用户类和一个站点类 MySQL 类有这样的方法 connect query clean fetch 用户等级 register login logout resetPass 站点类别 updateT
  • Apache mod_rewrite:在 Windows 计算机上使用 PHP 脚本的 RewriteMap 指令

    这已经让我发疯了 我似乎无法让 RewriteMap 指令适用于 Windows 上的 php 脚本 这是我的 httpd conf 文件中的相关片段
  • 被黑了!这段 PHP 代码的作用是什么?我应该如何避免? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么不起作用以及预期结果 也可以看看 Stack Overfl
  • Woocommerce 根据购物车中的商品总数累进额外费用

    我正在寻找一些代码 可以根据购物车中的商品总数收取额外费用 例如 如果购物车中的商品数量 gt 6 gt 额外费用 5 如果购物车中的商品数量 gt 12 gt 额外费用 10 我努力了这段代码 https stackoverflow co
  • 无法加载请求的类:会话

    我的配置文件看起来像这样 gt config sess cookie name ci session config sess expiration 7200 config sess expire on close TRUE config s
  • 检索多行最后插入的 id

    当将数据插入具有自动递增 PK 的表时 我需要获取该密钥以在另一个语句中使用 正如许多问题所示 这可以在 PHP 中使用mysql insert id 但是 我一直将插入内容分组在一起 因此一次插入不止一行 我这样做是因为我猜测可能会存在一
  • 将 laravel 从 5.5 更新到 5.7 时出现错误(未定义的类常量 'HEADER_CLIENT_IP')

    我收到这个错误 未定义的类常量 HEADER CLIENT IP 脚本 php artisan package discover 处理返回的 post autoload dump 事件 错误代码1 我变了 app Http Middlewa
  • 使用 PHP 将数据添加到 json

    我使用 json decode 创建一个 json 对象 在浏览了一些元素之后 我想向其中添加子元素 我该怎么做呢 取决于您传递给的选项json decode http php net manual en function json dec
  • 结合 codeigniter 和 laravel

    我在用着codeigniter框架 但我想使用的功能laravel像下面的代码这样的框架 我可以打印变量而无需 Hello name 我能怎么做 Codeigniter 是一个 PHP 框架 Laravel 也是 php 框架 而这两者并不
  • 在 yii2 中搜索两个日期

    日期可以用不同的格式表示 表格本身看起来像这样 book varchar 250 NOT NULL date INT NOT NULL 现在我的问题是我无法在两个日期之间的范围内实现搜索 例如 有 5 本书 日期不同 但开始日期开始 在31

随机推荐

  • JPA Criteria API - 子类上带有字段的条件

    我有一个名为Issue和实体称为UserIssue UserIssue延伸Issue Inheritance strategy InheritanceType JOINED Entity name ISSUE public class Is
  • CMake 中的版本正则表达式

    我想验证用户指定的版本字符串 确保它由三个句点分隔的数字组成 e g 1 20 300 但我不知道如何编写这样的正则表达式 下面的代码只是一个尝试 if PROJECT VERSION MATCHES 0 9 0 9 0 9 message
  • 为什么 [[[!![]+[]]+[]]+[]][+[]][+[]] 的计算结果为 t? [复制]

    这个问题在这里已经有答案了 我发现在 JavaScript 中 评估为 t 这怎么可能 我确实知道 评估为true 但是如何从中获得 t 呢 console log None
  • mysql date_sub 使用字段作为间隔

    我需要 mysql 和 date sub 方面的帮助 我有一个表调用活动 Activity id deadline alert Activity 1 2011 04 18 1 DAY Activity 2 2011 04 13 1 MONT
  • 将 Unicode 文本放置到具有 NULL 所有者窗口的剪贴板上时出现意外行为

    我正在尝试将文本从我正在处理的 Windows 桌面应用程序中放置到剪贴板上 但我遇到了一些我不理解的行为 我正在使用的功能如下 bool Clipboard CopyText const XStringW txt size t memsi
  • 流畅地调用await而不使用括号

    有没有办法重构这条线 var result await Foo Bar 这样它就不会使用括号 也不会将等待结果分配给临时变量 我正在尝试构建一个支持长时间操作的流畅框架 当您需要将 wait 括在括号中时 现实世界的代码会变得非常丑陋 va
  • Python 3 - 从整数转换为“字节”然后连接它们(用于串行传输)

    经过多次毫无结果的搜索 我在理解 Python 3 2 中处理 字节 和十六进制内容的方式时遇到了一个非常具体的问题 我知道我误解了 但似乎无法找到正确的路径 我的最终目标是使用python串行模块来传输字节序列 有些字节是静态的 不会改变
  • 使用 ffmpeg 将视频从 .264 转换为 .265 (HEVC)

    我看到关于这个主题的一些问题 但我仍然收到错误 我想要做的就是将库中的视频转换为 HEVC 以便它们占用更少的空间 我试过这个 ffmpeg i input mp4 c v libx265 output mp4 ffmpeg 似乎需要很长时
  • iOS4进入后台播放音频

    当谈论在后台播放音频时 文档写得相当糟糕 它给人的印象是 要继续播放当前正在播放的音频 您只需将键 值对添加到info plist文件和wallah 这很神奇 然而 这种情况并非如此 例如 如果我播放 2 分钟长的 mp3 显然音频足够长
  • NSCalendar 日差错误

    我正在尝试使用 NSCalendar currentCalendar ordinalityOfUnit NSDayCalendarUnit inUnit NSEraCalendarUnit forDate date 在两个不同的日期查看它们
  • 在 Apache JMeter 中配置响应超时

    我试图检查特定 HTTP 请求的响应时间是否超过 30 秒 如果是 则将其标记为失败并停止线程 有时我可以看到响应时间接近 80 秒 没有浏览器等待服务器响应那么长时间 我发现了以下三种在 JMeter 中设置超时值的方法 但这让我很困惑
  • 每当 gem 时,schedule.rb 中的配置文件与 Rails 一起使用?

    我的 Rails 应用程序的 config 文件夹中有一个名为 config yml 的文件 我还有一个初始化程序 config initializers load config rb 其中包含以下代码 APP CONFIG YAML lo
  • 如何在 Swift 中实现 didReceiveMemoryWarning?

    每当我创建一个新的 View Controller 子类时 Xcode 都会自动添加该方法 override func didReceiveMemoryWarning super didReceiveMemoryWarning Dispos
  • 如何像在 Firefox 的 Firebug 中一样在 Chrome 中编辑 CSS?

    我一直在 Firefox 中使用 Firebug 编辑 CSS 但最近注意到 Chrome 渲染我的页面的速度要快得多 带有滚动 交互元素等 因此想切换到它 我发现 Chrome 显示了计算出的 CSS 以及堆栈中哪些属性被否决 我可以一一
  • 如何使用空间掩模限制光栅处理范围?

    我试图将 MATLAB 中的栅格处理限制为仅包含 shapefile 边界内的区域 类似于 ArcGIS Spatial Analyst 函数使用mask http resources arcgis com en help main 10
  • 在 scikit-learn 中使用 ExtraTreesClassifier 时出错

    我正在尝试在 scikit learn 中对我的数据使用 ExtraTreesClassifier 我有两个 numpy 数组 X 和 y X 的尺寸为 10000 51 y 的尺寸为 10000 为了确保它们采用 numpy 数组格式 我
  • 根据特定文本拆分 XML 节点

    请建议如何根据特定注释文本拆分 xml 节点 我尝试使用xsl 文本禁用输出转义格式以放置所需的结束和开始标记 元素 我的代码是静态的 如何制作动态代码 该代码适用于注释文本方面的任意数量的祖先 即 如果祖先计数 n 然后从n to 1如何
  • 在 Android Studio 中为 NDK 项目构建符号花费太长时间

    我正在开发一个 Android 项目 该项目使用 NDK 并绑定相当大的 Boost C 库 每次启动Android Studio时 IDE在Building Symbols阶段都会花费相当长的时间 大约1个小时 在i7四核机器上或多或少
  • 实体框架、代码优先和全文搜索

    我意识到人们提出了很多与全文搜索和实体框架相关的问题 但我希望这个问题有所不同 我正在使用实体框架 代码优先 需要进行全文搜索 当我需要执行全文搜索时 我通常还会有其他条件 限制 例如跳过前 500 行 或过滤另一列等 我发现这是使用表值函
  • 通过 nginx 访问时,php 在 /tmp/systemd-private-nABCDE/tmp 中有自己的 /tmp

    我发现奇怪的行为php and tmp文件夹 Php 在使用时使用另一个文件夹 tmp PHP 5 6 7 nginx php fpm 我以两种方式执行相同的脚本 通过浏览器和通过 shell 但是当通过浏览器启动时 文件不是真实的 tmp