2016-11-07 236 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