【问题标题】:Modify file permissions for files created with php修改用php创建的文件的文件权限
【发布时间】:2020-06-23 06:57:29
【问题描述】:

我使用基于 tensorflow 的程序 luminoth 进行对象检测。要在安装在服务器上时执行 luminoth,我使用 php。当 luminoth 开始预测时,它会创建一个名为 objects.json 的文件。最后,它将结果写入此 objects.json 文件。但是当我通过 php 执行它时,预测会在写入结果之前停止。 objects.json 文件的权限为-rw-r--w--

我认为是因为这个权限不允许 luminoth 将结果写入这个文件。你觉得我说的对吗?我试图设置权限,如

chmod 2777 /var/www/html

进行测试,但它不起作用。 我在我的 sudoers 文件中写道:

%www-data ALL=(ALL) NOPASSWD:ALL

我希望我是对的。你有什么想法吗?

谢谢!

【问题讨论】:

    标签: php linux apache tensorflow ubuntu-18.04


    【解决方案1】:

    首先,触摸文件:

    touch objects.json
    

    然后只授予它真正需要的权限:

    chmod 644 objects.json
    

    如果你需要,也可以设置正确的所有者:

    chown user:group objects.json
    

    然后执行你的脚本:

    php bin/run.php
    

    不要通过 chmod 777 努力让某些东西工作。仅使用您需要的权限。

    *) 图片来源:http://thisismao.com/wordpress/the-777-developer/

    【讨论】:

      【解决方案2】:

      试试这个(相应地改变路径

      sudo chmod 777 -R /var/www/html/{path}/objects.json
      

      【讨论】:

      • 这为现有文件提供了权限,但每次预测都会创建新的 objects.json。又是 -rw-r--w--
      • 为什么要给 json 文件执行位?为什么要对整个服务器开放权限?为什么要在单个文件上使用递归标志?
      猜你喜欢
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 2010-09-17
      • 1970-01-01
      • 2011-06-12
      • 2016-05-16
      • 2011-06-12
      相关资源
      最近更新 更多