php 和 apache 在定义的 tmp 目录中看不到任何内容

php 和 apache 在定义的 tmp 目录中看不到任何内容

我们有标准的 php 和 apache,但在定义的 tmp 目录中看不到任何内容,如何检查非应用程序 500 的日志?

我实际上有两个问题,一个是路由日志https://www.test.com

另一个原因是 '/tmp/' 或我们系统上的 dev 当前正在写入私有系统目录

例如 /tmp/systemd-private-840c0bc8008041628bfc86e69a7bb944-httpd.service-z3oDEZ/tmp/

我们的旧服务器写入“/tmp/”,没有添加“systemd-...”

我还遇到了一个问题,即“/tmp”目录根据执行请求的服务将内容存储到私有目录中,而不是“/tmp”根目录中。有人能帮我解决这个问题吗?

我们有需要静态临时文件目录的 CRON,有没有办法让临时文件持续创建

从类似 serverfault.com/a/912098/984089 的答案

所以我理解 '/etc/systemd/system/[name-goes-here].service.d/config_name.conf' 不应该已经存在,对吗?

该文件在我们的旧服务器上不存在,并且不存在“tmp”问题,还有其他方法可以配置吗?

还需要任何帮助吗?

答案1

您所体验的是较新版 systemd 中的“私有临时目录”功能。这是一项安全功能,其中服务被分配到隔离的临时空间,而不是全局 linux 系统/tmp.

为了为您的 apache 服务禁用此功能并让 apache2 查看整个 /tmp:

  1. 停止你的 apache2 服务:systemctl stop apache2
  2. 转到您的 apache2 服务配置文件:nano /etc/systemd/system/multi-user.target.wants/apache2.service
  3. 注释掉PrivateTmp=true此文件中的指令。
  4. 保存文件并重新加载配置:systemctl daemon-reload
  5. 最后重新启动 apache 服务:systemctl start apache2

现在,Apache tmp 根目录应为全局 linux /tmp 目录。

希望能帮助到你。

相关内容