【发布时间】:2017-03-14 15:21:03
【问题描述】:
我尝试使用put 创建一个文件并授予该文件777 的权限。
如果我这样创建文件:
use File;
...
$content = "<?php echo 'test'; ?>";
$file = app_path() . '/Http/Controllers/test.php';
File::put($file, $content);
但是,文件是使用以下权限创建的:
-rw-r--r-- 1 daemon daemon 2,2K Mär 14 08:08 test.php
另外,用户和组是daemon 而不是root。
如何使用用户和组root 和权限rwxrwxrwx 创建文件?
例如
-rwxrwxrwx 1 root root 2,2K Mär 14 08:08 test.php
我还将这些行添加到我的/etc/sudoers
www-data ALL=(ALL) NOPASSWD: /bin/chmod
www-data ALL=(ALL) NOPASSWD: /bin/chown
www-data ALL=(ALL) NOPASSWD: /bin/chgrp
但我仍然得到chmod(): no permission,代码如下:
File::chmod($unitPath, 0777);
chown($unitPath,"root");
chgrp($unitPath,"root");
【问题讨论】:
-
例如,您必须使用
shell_exec执行 linux 命令。 -
你为什么使用 File::put 而不是 fopen 或 file_put_content
-
@AnnSophieAngermüller,因为它的编码速度更快
标签: php linux laravel laravel-5.4