2016-07-12 3 views
0

bash 스크립트에 서버의 홈 파일을 연결하고 나열하는 SSH 명령이 있지만 PHP 스크립트에서 실행하면 출력이 표시되지 않습니다. 내 컴퓨터와 서버 사이에 SSH 키를 설치했습니다. 터미널에서 bash 스크립트를 실행하면 작동하지만 PHP 스크립트에서 호출 할 수없는 이유가 있습니다. 단지 '아파치'을 확인Bash 스크립트의 SSH 명령이 실행되지 않습니다.

<?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 스크립트 '아파치'에서 실행하는 동안 사용자입니다 :

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

그리고 스크립트를 호출하는 PHP 스크립트 : 여기

은 bash는 스크립트입니다 사용자가이 폴더에서 실행 권한을 가지고 있습니다.