请帮我解决我在生产服务器上遇到的这个问题。我启动了一个应用程序,仅在检查它不存在后才将图像保存在目录中。
为了检查它是否已经存在,我使用了以下命令
找到 $filePath -name $fileInitial*
我很惊讶地发现在开发和 QA 方面一切顺利,但在真实环境中,在 50 个案例中,有 5 个案例即使文件存在也返回空白。
我尝试用 exec
、shell_exec
、passthru
和 system
替换反引号运算符。我什至尝试用 ls
替换 find
命令,但仍然没有任何收获。
请建议可以做什么?
最佳答案
根据您的代码,我强烈建议尽可能避免使用 exec/shell_exec。
如果没有在编码时考虑到安全性,它会给您的整个系统带来非常大的安全风险。
不确定为什么您尝试处理的实际命令有问题,但我的建议是使用 file_exists()或 glob()在 php 中运行,而不是手动转到文件系统。
关于php 执行 shell 命令仅在大量使用模式下提供随机输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9913310/