【发布时间】:2016-08-13 07:25:54
【问题描述】:
我已经设置了 2 台 Ubuntu 机器:192.168.1.104 和 192.168.1.105 在两台机器上都安装了 ssh,在 104 机器上生成了ssh-keygen,并为这两个 IP 地址添加了密钥。
我想通过php将文件从一个192.168.1.104复制到192.168.1.105。
我试过这个命令scp /home/tejas/hadoop/conf/core-site.xml tejas@192.168.1.105:/home/tejas/hadoop/conf/core-site.xml
通过 shell 脚本文件被完美复制但是当我通过 php-script 运行相同的命令时
<?php
$output = shell_exec('scp /home/tejas/hadoop/conf/core-site.xml tejas@192.168.1.105:/home/tejas/hadoop/conf/core-site.xml');
?>
它没有显示任何错误,但文件没有被复制。还尝试了与 exec() 类似的尝试,还尝试了 rysnc 而不是 scp rsync -avzh /home/tejas/hadoop/conf/mapred-site.xml tejas@192.168.1.105:/home/tejas/hadoop/conf/mapred-site.xml 仍然没有运气。
这两个命令都可以通过 shell 脚本完美运行,但不能通过 php 运行
我检查了 php 没有处于安全模式,并且 shell_exec() 或 exec() 在 php.ini 中没有被禁用
【问题讨论】: