首先,我通过 www-data 用户运行所有这些命令...即 apache2 用户...使用 php 和 exec 函数来运行这些命令...
我创建目录
mkdir -p testing
现在让我们看看文件夹
ls
目录测试未显示...尽管文件夹已创建(我检查了物理路径)
答案1
首先,确保您要写入的目录 a) 存在并且 b) 具有允许您对其进行读取/写入的正确权限。
其次,尽量不要使用 exec、system 或类似的东西。这不仅不安全(传递参数可能是一个真正的安全漏洞),而且还会给操作增加大量开销,必须生成新的子进程等。
此外,使用 exec() 只会返回最后的运行的命令行。如果你确实需要使用系统程序来执行功能,那么你应该使用通过()将数据直接返回到浏览器,或者shell_exec()如果您想以字符串形式输出。