gpt4 book ai didi

php - sh : 0: getcwd() failed: No such file or directory from exec command

转载 作者:搜寻专家 更新时间:2023-10-31 21:06:57 24 4
gpt4 key购买 nike

我有一个 php 服务器使用 Gearman 服务器在后台运行一些代码。命令行 php 脚本在后台运行。在中间,有一台服务器(walker)一直在运行并监听一些事件。当我收听某些特定事件时,它会使用 php exec(“某些命令”)触发另一个命令行命令。

如果这个服务器是全新运行的,那么它工作正常,但几个小时后它开始给出:

sh: 0: getcwd() failed: No such file or directory  

我们在哪里使用 exec();

关于如何防止这种情况的任何想法?

最佳答案

此错误表明 getcwd() 返回了 NULLerrno 设置为 ENOENT

如果当前工作目录未链接,

getcwd() 将返回 ENOENT。这似乎是这里的情况(根据联机帮助页,这是导致 getcwd() 返回 ENOENT 的唯一条件)。

仔细检查以确保在服务器运行时没有人删除该目录,或者服务器代码本身是否未在当前工作目录上调用 unlink()。某个地方的某个人正在删除它。

作为一种好的做法,通常建议守护进程将 chdir() 转到守护进程将执行其职责的已知目录。这恰恰是为了避免此类问题(也是因为在单独的文件系统中运行的守护进程可能会阻止管理员卸载该文件系统)。

关于php - sh : 0: getcwd() failed: No such file or directory from exec command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30865973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com