PHP Exec SCP无法将文件复制到远程服务器。

13

我需要使用PHP从一个服务器获取文件并传输到另一个服务器(我拥有两者)。 我有如下脚本:

<?php

exec('scp /home/pat/file1.tst pat@myserver.com:/home/pat/file1.txt');

我遇到了这个错误:

Disallowed system call: SYS_pipe

这是什么错误?我该如何修复?


1
我不想显而易见,但是 SYS_pipe 是被禁止的,为了解决这个错误,你需要允许它。 - Cyclone
1
谷歌搜索的第一个结果是这个SO评论:http://stackoverflow.com/questions/3964766/ensuring-user-input-code-does-not-damage-server-when-executed - 因此可能是被禁止的exec。另外,可以参考ssh2_scp_send作为替代方案。 - mario
@Cyclone:在这里,在这里...您先生是位绅士和学者。我似乎是显而易见的船长 :) - TigOldBitties
2个回答

12

您的PHP环境不允许在您的服务器上执行exec命令。


我该如何启用它?我需要更新Apache还是PHP吗? - Pat R Ellery
如果这是您自己的服务器,请检查php.ini文件中是否禁用了该功能... 如果这是托管的服务器,那很遗憾,我打赌他们不会启用它,我甚至可以拿我的养老金来打赌。 - TigOldBitties

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接