我在那里我试图复制的是,我已经使用PHP exec命令安装在服务器的驱动器上生成的文件有问题。但是,该命令不工作(虽然返回值是1)从网页时调用。
$src = "/mnt/...";
$dest = "/var/www/...";
exec("cp $src $dest");
我试图打印出命令,以确保它是正确的,它是。我也试图尝试复制之前,确保该文件存在,它是。
if (file_exists($src)) {
exec("cp $src $dest");
}
直接复制命令到终端的作品。
$ >cp /mnt/... /var/www/...
我已经使用PHP命令行工具来运行exec命令还试图和也适用。
$ >php -r 'exec("cp /mnt/... /var/www/...");'
我一直在使用shell_exec
以及,具有相同的结果也试过。
您可以添加第二个参数来帮助调试,$output
会显示什么cp
命令是干什么的,无论是错误或不。
我还建议将引号中的文件,以防万一有一个空间在那里得到。
$src = "/mnt/...";
$dest = "/var/www/...";
exec("cp '$src' '$dest'", $output, $retrun_var);
var_dump($output, $retrun_var);
我有一个similar issue前一阵子。这是基本上所有的评论员在说什么。 web服务器的用户/许可受到限制,而且也正在使用shell环境和/或环境变量PATH。