PHP:如何在不提高644以上文件权限的情况下写入文件?

时间:2016-12-15 01:00:23

标签: php wordpress apache ubuntu file-permissions

上下文

  • Apache 2.4.18
  • Ubuntu 16.04.1
  • PHP 7.0.8
  • WordPress 4.6 (这可能无关紧要,因为这个问题主要只是一个PHP写作,但我在WordPress主题的目录中工作。)

文件

我有两个文件:foo.phpbar.css

这是foo.php(位于/wp-content/themes/theme-name/):

<?php
// Write some stuff to bar.css
file_put_contents('abs/path/to/bar.css', 'Blah blah blah...');
?>

bar.css完全空白(也位于/wp-content/themes/theme-name/)。

目标

我想允许foo.php写入bar.css 我不得不将bar.css文件的权限提升为666 (来自644)。我已经对它进行了测试,如果我将bar.css的权限更改为666,我可以让它工作得很好,但同样,这是我要避免的

我尝试了什么

我知道这可能看起来像一个多余的问题,但老实说,我一直在寻找这样的东西,而且我还没有找到任何可以解决这个问题的东西。我的意思是,我已经阅读过(例如this threadthat thread等),也许有些东西我没有得到,但基于我读过的东西的理解是一次我将权限更改为至少644并将文件所有者设置为www-data:www-data,PHP应该能够写入它并且生活应该是好的。但是......那没有发生。

WordPress管理面板(example.com/wp-admin/theme-editor.php?file=bar.css&theme=theme-name)中的主题编辑器能够写入bar.css,即使它位于644 ...所以它与我之间的区别是什么?我想干什么?我能做错什么?

感谢您的帮助。

0 个答案:

没有答案