0
當我在命令行中運行以下命令:SCP命令行和PHP的exec()不能做同樣的事情
scp -i private.ppk -P 22 foo.txt [email protected]:/home/someuser/foo.txt
,一切工作正常。將foo.txt
傳送到遠程服務器沒有任何問題。我需要從PHP運行完全相同的命令。所以,我有以下代碼:
$command = 'scp -i private.ppk -P 22 foo.txt [email protected]:/home/someuser/foo.txt';
exec($command);
這是行不通的。 PHP文件正在與private.ppk
相同的目錄中執行。當我var_dump
exec
的結果,我得到一個NULL
。
我想知道這是否是一個權限問題。我知道我在命令行上運行的是誰,但我不確定誰在運行腳本。這可能是問題嗎?或者是完全不同的東西?
嘗試使用完整的路徑foo.txt的 – Rob 2013-04-23 02:40:30
OK,我做到了。這絕對是一個問題。不過,我仍然得到相同的結果。沒有文件傳輸。 NULL是'exec'的結果。 – snoopy76 2013-04-23 02:48:35
我的腳本是作爲'nobody'運行的。這會導致任何問題嗎? – snoopy76 2013-04-23 02:52:28