我正在开发一个文件管理器,我的用户应该能够从他们的整个根目录下载一个 .zip 文件。我正在使用以下脚本:
$cmd = "";
if(count($files) > 0) {
foreach($files as $file) {
$cmd .= " ". $file['name'];
}
}
$cmd = "cd /home/product$this->_product$path && zip -r $filename.zip$cmd";
if(ssh2_exec($this->_con, "cd /home/product1/include && zip -r include.zip gl_spawns.inc gl_common.inc")) {
return $cmd;
}
无论如何,这个脚本工作正常,它与这个问题没有太大关系,下面你会看到上面看到的脚本返回的 cmd:
cd /home/product1/include && zip -r include.zip gl_spawns.inc gl_common.inc
当我使用 putty 将此 cmd 输入到我的 ssh 屏幕时,它运行良好。但是当我在 php 中使用 ssh2_exec 运行这个 cmd 时,它只创建了 zip 文件的一部分,称为随机名称,并且没有扩展名,似乎 zip 进程由于某种原因被取消了。每次都会发生这种情况。
任何人都知道解决这个问题的方法吗?
谢谢阅读。