PHPを使用してサーバから別のサーバにファイルが必要です(私はその両方を所有しています)。私は次のスクリプトがありますPHP Exec SCPはファイルをリモートサーバにコピーしません
を私はこのエラーを取得する:
Disallowed system call: SYS_pipe
そのエラーとは何ですか?どうすれば修正できますか?
PHPを使用してサーバから別のサーバにファイルが必要です(私はその両方を所有しています)。私は次のスクリプトがありますPHP Exec SCPはファイルをリモートサーバにコピーしません
を私はこのエラーを取得する:
Disallowed system call: SYS_pipe
そのエラーとは何ですか?どうすれば修正できますか?
PHP環境ではサーバー上でexecを実行できません。
と私はそれを可能にすることができますか?私はApacheを更新する必要がありますか?またはPHP? –
あなたのサーバのチェックであればphp.ini disable_functions ...それはホストされたサーバであるならば厳しいnoogies私は彼らがそれを有効にしない私の年金を賭けるでしょう。 – TigOldBitties
ありがとう、私はそれを見つけた –
これは私が知っている、しかし、あなたはphpseclib's pure PHP SCP implementationとのより良い運を持っているかもしれませんが、後半ちょっとです:それを使用する方法の
https://raw.github.com/phpseclib/phpseclib/master/phpseclib/Net/SCP.php
例:
<?php
include('Net/SCP.php');
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('bad login');
}
$scp = new Net_SCP($ssh);
$scp->put('abcd', str_repeat('x', 1024*1024));
?>
私はここに明らかキャプテンであることを憎みますしかし、 'SYS_pipe'は許可されず、エラーを修正するには、それを許可する必要があります。 – Cyclone
Googleで最初にヒットしたのはこのSOのコメントでした:http://stackoverflow.com/questions/3964766/ensuring-user-input-code-does-not-damage-server-when-executed-禁止されている可能性が高いexecです。 Btwについては、[ssh2_scp_send](http://php.net/manual/en/function.ssh2-scp-send.php)を参照してください。 – mario
@Cyclone:ここに...あなたは紳士で学者です。私はキャプテン明白なようだ:) – TigOldBitties