Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 壳牌执行董事不';我不能和find一起工作_Php_Linux_Shell Exec - Fatal编程技术网

Php 壳牌执行董事不';我不能和find一起工作

Php 壳牌执行董事不';我不能和find一起工作,php,linux,shell-exec,Php,Linux,Shell Exec,我正在尝试在其他人创建的服务器上实现php脚本。 我尝试echo shell_exec('ls')并且它可以工作 var_dump(shell_exec('find / -name "tmp.txt"')); 返回null。 但是,当我在ssh控制台中尝试时,输出是正确的。是什么引起的?我可以检查什么?如果您试图在根目录中查找某个web服务器没有权限访问(设计上)的内容,您想做的是一个安全问题,因此我的建议是将您的工作放在网站中的一个文件夹中,该文件夹由允许访问驱动器上文件的同一用户所有,通常

我正在尝试在其他人创建的服务器上实现php脚本。 我尝试
echo shell_exec('ls')并且它可以工作

var_dump(shell_exec('find / -name "tmp.txt"'));
返回null。
但是,当我在ssh控制台中尝试时,输出是正确的。是什么引起的?我可以检查什么?如果您试图在根目录中查找某个web服务器没有权限访问(设计上)的内容,您想做的是一个安全问题,因此我的建议是将您的工作放在网站中的一个文件夹中,该文件夹由允许访问驱动器上文件的同一用户所有,通常
www数据

也许您不想读取服务器本身的根目录,而只想读取与网站位于同一目录中的文件。为
关闭
将访问当前目录,而不是基本目录:

var_dump(shell_exec('find . -name "tmp.txt"'));
或者,您可以尝试绝对路径:

var_dump(shell_exec('find /path/to/files -name "tmp.txt"'));
这是不常见的,但是您可能还需要指向
find
的绝对路径。您可以通过运行
var\u dump(shell\u exec('find'))来测试是否需要这样做如果没有输出,那么您可能不得不这样做。如果是这种情况,请使用
/usr/bin/find



原因可能是缺少PATH环境变量

请检查
getenv('PATH')
并尝试使用绝对路径来查找。通常的位置是/usr/bin/find或/bin/find

var_dump(shell_exec('/usr/bin/find / -name "tmp.txt"'));

您使用的是什么web服务器?Apache?是的,我使用的是web服务器Apache。当您尝试var_dump(shell_exec('find.-name*.php'))时,是否得到任何结果?确保php用户可以使用“查找”。您可能会遇到其他问题:1)查找可能无法通过php访问您的脚本2)从根文件夹“/”进行递归搜索可能需要比最大脚本执行时间更长的时间time@SergeyScopin如果您需要更多帮助,请告诉我们:-)事实上,我刚刚更改了root(/)到某个目录,它现在可以工作了。