exec() 함수관련... 어떻게 해야 작동하나요?

exec() 함수관련... 어떻게 해야 작동하나요?

QA

exec() 함수관련... 어떻게 해야 작동하나요?

본문

 

  • 서버는 CentOS 7.2 (64bit)구요
  • PHP버전은 PHP 7.0입니다.

 

 


<?php
exec('systemctl restart httpd');
?>

 

명령어 치는것도 귀찮아서 서버를 버튼클릭으로 재시작하게 할려고하는데... 

 

exec가 안먹히네요?;; exec함수로 위 명령어 뿐만아니라 다안먹힙니다.

exec를 쓸일이없어서 안쓰다가... 

구글링해보니깐

 

 
safe_mode = Off 
safe_mode_exec_dir = 

 

위와같이 php.ini에서 설정을 하라는데 아무리 찾아봐도 저 항목이 안보이길래 추가로 기입해줬습니다. 그런데 phpinfo()에 항목이 추가가 안됬더라구요...

 

혹시나해서 PHP 메뉴얼보니깐 6.0에서 safe_mode 보안관련 설정이 없어졌다고 나오고...

( http://php.net/manual/kr/ini.sect.safe-mode.php )

 

구글링을 좀 더 해보니 /bin/bash 권한문제(?) 라면서 bash를 755로 권한을 변경해달라고 나와있더라구요.

 

그래서 제 서버에는 bash가 /usr/bin/bash 여기에 있길래 권한을 바꿀려고하니 애초부터 디폴트값 755였고...usr bin 폴더마저 755였습니다.

혹시나해서 systemctl 권한도 봐보니깐 755였습니다.
 

http://php.net/manual/kr/function.exec.php 여기 보면 분명 PHP7 된다는것같은데 뭐가 문제일까요? 

 

결론 : 어떻게해야 사용할 수 있는거죠?!!

SSL인증서와 도메인 지정할때의 귀차니즘을 덜어버리고싶네요!

이 질문에 댓글 쓰기 :

답변 1

권한문제로 보입니다

 

아파치가 nobody 계정으로 보통 실행되니

 

exec로 systemctl 명령어를 실행하면   nobody 계정이 해당 명령어를 실행할수 있는 권한이

 

있어야합니다  명령어 권한설정을 공부해 보시길 권장합니다  

답변을 작성하시기 전에 로그인 해주세요.
전체 9
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT