我在本地运行脚本,完成后将对远程服务器上的脚本进行exec调用。
exec("ssh user@server.com \"php /full/path/to/script.php\"", $output, $return);
它向我显示此错误:
PHP Warning: require(../resources/vendor/autoload.php): failed to open stream: No such file or directory in /full/path/to/script.php on line 3
我尝试将所需的脚本加载到完整路径,但没有成功。有什么想法吗?
答案 0 :(得分:0)
因为PHP将CWD(当前工作目录)设置为SSH登录后的位置(可能是用户主文件夹),并且PHP文件中包含的引用被解释为相对于CWD。您应该将目录更改为项目的根目录:
exec("ssh user@server.com \"cd /full/path/to/; php script.php\"", $output, $return);