2016-07-12 73 views
0

我有一個bash腳本中的SSH命令來連接和列出服務器的主文件,但是當我從我的PHP腳本運行它時,我沒有輸出。我在我的電腦和服務器之間建立了一個SSH密鑰。在終端中運行bash腳本,但由於某種原因,我無法從PHP腳本中調用該腳本。Bash腳本中沒有運行SSH命令

這裏是bash腳本:

#!/bin/bash 
ssh [email protected] "ls" 

和調用腳本的PHP腳本:

<?php 
chdir('/opt/lampp/htdocs'); 
echo shell_exec('./run'); 
?> 
+0

您是否在與bash腳本相同的終端會話中運行PHP腳本? – Barmar

+0

更改爲'echo shell_exec('./ run 2> &1');'因此您會看到錯誤消息。 – Barmar

+0

嗨,我的PHP腳本位於我的本地服務器(lampp)上,因此我只是從那裏執行Bash腳本。錯誤信息當我運行你建議的命令時: _ssh:/opt/lampp/lib/libcrypto.so.1.0.0:未找到'OPENSSL_1.0.1'版本(ssh需要)_ – Coder

回答

0

雖然從PHP腳本 '阿帕奇' 運行是用戶,只需檢查 '阿帕奇'用戶在此文件夾中具有執行權限。