php 执行 shell 命令仅在大量使用模式下提供随机输出

标签 php linux unix fedora

请帮我解决我在生产服务器上遇到的这个问题。我启动了一个应用程序,仅在检查它不存在后才将图像保存在目录中。

为了检查它是否已经存在,我使用了以下命令 找到 $filePath -name $fileInitial*

我很惊讶地发现在开发和 QA 方面一切顺利,但在真实环境中,在 50 个案例中,有 5 个案例即使文件存在也返回空白。

我尝试用 execshell_execpassthrusystem 替换反引号运算符。我什至尝试用 ls 替换 find 命令,但仍然没有任何收获。

请建议可以做什么?

最佳答案

根据您的代码,我强烈建议尽可能避免使用 exec/shell_exec。

如果没有在编码时考虑到安全性,它会给您的整个系统带来非常大的安全风险。

不确定为什么您尝试处理的实际命令有问题,但我的建议是使用 file_exists()glob()在 php 中运行,而不是手动转到文件系统。

关于php 执行 shell 命令仅在大量使用模式下提供随机输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9913310/

相关文章:

linux - 使用 start-stop-daemon 启动二进制文件禁止使用 UDP

linux - EC2 - 未找到 Codedeploy NPM 错误

shell - 如何将文件中的值分配给 UNIX sh shell 中的变量?

javascript - 我正在用选择的数据填充文本框,它可以工作,但是

php - 用于具有 NULL 值的复合键的表的关系 Yii ActiveRecord

php - 无法用默认值替换字符串

linux - USB端口在Gentoo Linux中不起作用

php-fpm 和 nginx : How to set display_errors = on but also get HTTP 500?

regex - 用 sed 替换一行但保留原始行

unix - 将一个命令的输出作为参数传递给另一个命令