这是我的第一个问题,所以希望我不会违反任何规则:)
我试图运行一个脚本,在/ var / www /中创build一个子目录。 我有一个脚本,应该创build一个自动转换为LEMP vHost的目录 – 它检查包含htdocs的子文件夹/ var / www目录,然后自动生成一个虚拟主机。
LEMP(nginx,PHP 5.6,MySQL)堆栈运行在Ubuntu 16.04 Server上的Docker容器中。
问题是,我无法find一个方法来获得适当的权限configuration这个任务。 我的代码如下所示:
<?php if(mkdir("/var/www/".$_POST['name']."/htdocs", 0644, true)) { echo('vHost created'); } else { echo('ERROR!'); } ?>
我目前对/ var / www目录的权限是777(我知道这不是很安全的做法,但是我绝望了)。 我正在尝试各种权限和所有权 – 容器的内部和外部,但每次我调用一个PHP文件,它会返回以下错误。
Warning: mkdir(): Permission denied in /var/www/default/htdocs/createVhosts.php on line 42
任何想法或build议,我应该尝试?
好的,我自己回答了我的问题。
对于正在面对或将面临同样问题的其他人:当我编写代码并得到错误时,我试图找到权限的原因,但是我没有意识到我正在尝试写入主机而不是容器。
我已经通过替换解决了一个问题:
/var/www/
同
/shared/httpd/