2016-11-07 1 views
1

배쉬 파일을 파일 :실행 BASH 스크립트

#!/bin/bash 
mkdir /var/www/html/bash 

PHP 파일 :

<?php 
exec("/var/www/html/bash.sh"); 
?> 

을 내가 /var/www/html/bash 디렉토리가 만들어지지 않습니다 localhost/phpfile.php를 입력 한 후. 나는 shell_exec 명령도 아무런 결과도 시도하지 않았다. 내가 뭘 잘못하고있어?

+2

가합니까 (내 경우에는 www가 데이터) 아파치를 실행하는 사용자에게 그룹 소유자를 변경 PHP 사용자는 디렉토리를 만들 수있는 권한이 있습니까? –

+0

'-rw-r-r-- 1 루트 루트 40 11 월 7 일 18:47 phpfile.php' '-rwxrwxrwx 1 루트 루트 39 Nov 7 18:46 bashfile.sh' 파일은 루트 그룹에 있으므로 있어야합니다. 그것. 내가 잘못? – semkius

+0

PHP는 루트 그룹의 사용자가 아닙니다. –

답변

2

Apache에 ./var/www/html 디렉토리 내에 쓰기 권한이 없으므로 실패 할 가능성이 큽니다. 아파치에게 필요한 권한을 부여하려면 다음을 시도 ...

우선 그래서 www가 데이터를 얻을 수 내 서버에 sudo ps aux |grep apache 또는 sudo ps aux |grep httpd

아파치 의 사용자를 찾아,이 디렉토리를 만들 수 있도록, 내가 chmod를 상위 폴더 (775), 그리고

sudo chmod 775 /var/www/html,

sudo chgrp www-data /var/www/html