系统或执行程序出现问题


Problems with system or exec

我正在尝试获取一个文件并向另一个服务器发送命令。

我正在尝试以下操作:

system('scp root@xxx.xxx.xxx.xxx:/etc/something.conf /tmp/',$ret);

但文件没有被复制。如果I echo $ret,则输出1。如果我通过SSH登录到服务器并执行相同的命令,效果会很好。

可能出了什么问题?

PS:对另一台服务器的访问是使用存储在服务器中的公钥进行的。

假设您使用ssh密钥进行scp,则需要为运行php的用户添加服务器公钥(对于ubuntu,通常是在"www data"处的apache用户,对于CentOS,通常是"apache"处的apache用户)

至于调试,Salman A的提示应该是有用的

使用与root不同的用户名(添加一些没有任何权限的用户)也是一个很好的建议!