【问题标题】:PHP cannot access mounted drive in UbuntuPHP 无法在 Ubuntu 中访问挂载的驱动器
【发布时间】:2019-06-27 16:17:40
【问题描述】:

运行 Ubuntu 18.04、Apache/2.4.29、PHP 7.2.10。

我无法从 PHP 读取/写入已安装的驱动器。

这是我的示例代码:

<?php

ini_set('display_errors', '1');
error_reporting(E_ALL);

$folder = '/media/superuser/HDD4TB_CRYPT/nextcloud_data';

var_dump(ini_get('open_basedir'));
file_put_contents($folder.'/x.txt', "AA");
echo file_get_contents($folder."/x.txt");

phpinfo();

这是输出:

字符串(0) ""

警告: file_put_contents(/media/superuser/HDD4TB_CRYPT/nextcloud_data/x.txt): 无法打开流:权限被拒绝 /var/www/html/nextcloud/x.php 第 9 行

警告: 文件获取内容(/media/superuser/HDD4TB_CRYPT/nextcloud_data/x.txt): 无法打开流:权限被拒绝 /var/www/html/nextcloud/x.php 在第 10 行

这些是文件夹详细信息:

superuser@SuperTower:/var/www/html/nextcloud$ ls -al /media/superuser/HDD4TB_CRYPT/
total 28
drwx------  4 superuser superuser  4096 feb  3 20:55 .
drwxr-x---+ 4 root      root       4096 feb  2 00:06 ..
drwx------  2 root      root      16384 feb  1 22:49 lost+found
drwxrwxrwx  2 www-data  www-data   4096 feb  3 21:29 nextcloud_data

我尝试编辑 open_basedir,但这无助于解决任何问题,所以我只是将其注释掉。因此open_basedirphpinfo() 中有no value。文件夹被改写为 www-data(这是 apache 用户),也改写为 777。

/media/superuser/ 包含在我的 PC 上安装了驱动器的文件夹。 superuser 是我在 Ubuntu 中的用户名。

感谢您的任何想法!

附言

我也尝试向我的文件夹添加符号链接:

superuser@SuperTower:/var/www/html/nextcloud$ ls -al data
lrwxrwxrwx 1 www-data www-data 45 feb  3 21:05 data -> /media/superuser/HDD4TB_CRYPT/nextcloud_data/

并使用

$folder = '/var/www/html/nextcloud/data';

但结果完全一样。

我也试过添加

 <Directory /var/www/html/nextcloud/data>
   Options +FollowSymLinks
   Allow from All
 </Directory>

结果行为没有变化:/

【问题讨论】:

  • 查看链接:stackoverflow.com/questions/21878647/…希望帮助
  • 是的,看到了,但似乎是一个不好的解决方案,我自己不挂载文件夹,/etc/fstab 为我这样做
  • 您必须确保 webserver 进程(将 PHP 作为子进程或模块运行)的用户 组具有对该目录的访问权限。对于 Apache,这通常是用户和组 www-data。所以先找出你的网络服务器的用户和组,然后确保共享的目录权限是正确的。
  • 从我的 ls 输出中可以看到 - 有问题的 www-data 拥有我要写入的文件夹
  • x.txt文件的权限呢?

标签: php apache ubuntu


【解决方案1】:

出于某种原因,无论我对文件夹设置什么所有权/权限,www-data 都无法访问 /media/superuser。

我编辑了 /etc/fstab 以将驱动器挂载到 /opt/ 文件夹中,并将其分配给 www-data 用户和组。

现在就像一个魅力。

【讨论】:

    猜你喜欢
    • 2014-05-30
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2015-06-15
    • 2011-09-29
    • 2021-09-02
    • 2015-10-19
    • 1970-01-01
    相关资源
    最近更新 更多