2016-11-07 279 views
1

猛砸文件:運行BASH腳本文件

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

PHP文件:

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

我進入localhost/phpfile.php/var/www/html/bash目錄未創建。我試過shell_exec命令沒有結果。我做錯了什麼?

+2

是否PHP用戶有權限創建目錄? –

+0

'-rw-r - r-- 1 root root 40 Nov 7 18:47 phpfile.php' '-rwxrwxrwx 1 root root 39 Nov 7 18:46 bashfile.sh'文件在根組中,所以它們應該有它。我錯了嗎? – semkius

+0

PHP不是根組中的用戶。 –

回答

2

這可能會失敗,因爲Apache在您的./var/www/html目錄中沒有寫權限。爲了讓阿帕奇必要的權限,試試這個...

首先找到的Apache sudo ps aux |grep apachesudo ps aux |grep httpd

我的服務器上的用戶,我得到WWW的數據那麼,允許它創建目錄,文件模式我的父文件夾775,sudo chmod 775 /var/www/html

然後,更改組所有者向用戶(在我的情況WWW的數據)運行的apache

sudo chgrp www-data /var/www/html