请帮助我在生产服务器上面对的这个问题。 我启动了一个应用程序,只有在检查到目录不存在的情况下才能将图像保存在目录中。
要检查它是否已经存在,我使用下面的命令find $filePath -name $fileInitial*
我很惊讶地看到,在开发和质量保证方面都做得很好,但是在真实环境中,50个案例中,5个案例中即使存在文件也会返回空白。
我尝试用exec
, shell_exec
, passthru
和system
replace反引号操作符。 我甚至尝试用ls
replacefind
命令,但仍然没有收获。
请build议可以做些什么?
根据你的代码,我强烈建议尽可能避免exec / shell_exec。
如果没有考虑到安全性,它会给整个系统带来非常大的安全风险。
不知道为什么你正在尝试处理的实际命令有问题,但是我的建议是在php中使用file_exists()或glob()函数,而不是手动进入文件系统。
谢谢你们。 你的建议真的有效。 它与glob()一起运行良好。
可能是通过PHP执行shell命令的原因是不等待足够的时间结果或者它与运行php的CGI模式有关。
请分享你的想法。
你有没有设置: ignore_user_abort(true);
和set_time_limit()
到合理的东西? 也试用popen()。 我总是觉得更容易正确的接口。