要小心绝对路径的差异。相对路径。执行路径。例如,你的目录结构为:
/home/my/php/script/test.php
/makescreen.exe
在你的PHP脚本调用shell_exec(makescreen.exe ***)
。
在这种情况下,如果你执行你的脚本一样cd /home/my/php/script && php test.php
,那么执行路径是/home/my/php/script/
和scirpt会发现在执行路径makescreen.exe
,这里是/home/my/php/script/
然而,如果你目前留在/home/my
和使用方法php /home/my/php/script/test.php
然后执行路径是您当前的路径,这里是/home/my
,并且脚本将找到makescreen.exe
在/home/my
,肯定失败。
如果您在脚本中使用/home/my/php/script/makescreen.exe
,这是绝对路径无论你在哪里,它会在/home/my/php/script/
找到makescreen.exe
如果你想要把可执行文件中的子文件夹。您可以在脚本中使用相对路径subfolder/makescreen.exe
,并确保脚本可以正确访问它。
谢谢,但仍然是同样的事情。这是从服务器根目前已经两层,现在我想要另一个子文件夹 - 这是必须做任何事情吗?我应该使用从服务器根目录的绝对路径吗? –