PHP/Apache拒绝被授予创建文件的权限

PHP/Apache拒绝被授予创建文件的权限,php,linux,apache,unix,Php,Linux,Apache,Unix,我有一个PHP脚本,它是我正在编写的大型网站的一部分。我的笔记本电脑上运行着一个小型apache服务器,所以我可以在构建网站时测试网站的不同部分 作为网站的一部分,我希望用户从服务器上的一系列文件中选择。当他们选择文件并点击“下载”时,PHP脚本会收到关于要下载哪些文件的说明,将文件压缩到.zip存档中,并将其推送到浏览器进行下载 <?php $files = $_POST['files']; $zipname = 'ncd_data.zip'; $zip

我有一个PHP脚本,它是我正在编写的大型网站的一部分。我的笔记本电脑上运行着一个小型apache服务器,所以我可以在构建网站时测试网站的不同部分

作为网站的一部分,我希望用户从服务器上的一系列文件中选择。当他们选择文件并点击“下载”时,PHP脚本会收到关于要下载哪些文件的说明,将文件压缩到.zip存档中,并将其推送到浏览器进行下载

<?php   
    $files = $_POST['files'];
    $zipname = 'ncd_data.zip';

    $zip = new ZipArchive;
    $zip->open($zipname, ZipArchive::CREATE)

    foreach ($files as $file) {
        $zip->addFile($file);
    }
    $zip->close();    

    if (file_exists($zip)) {
        header('Content-Type: application/zip');
        header('Content-Disposition: attachment; filename=ncd_data.zip');
        header('Content-Length: ' . filesize($zip));
        readfile($zip);
        exit;
    }
?>
以及使用
setfacl
一直到
/var/
rwx
权限。尽管如此,没有骰子:我在php脚本中运行
mkdir
命令时遇到了一个“权限被拒绝”错误。我知道给
html
文件夹完整的777权限是一个坏主意,但我不知道我还需要做什么才能给PHP创建和写入文件所需的权限


我的设置是Fedora20笔记本电脑,PHP和Apache分别是它们的最新版本(5.5.10和2.4.7)。提前感谢。

看起来您不需要保存zip文件,因此您最好在临时目录中创建它,然后在结尾处删除它。我可能会这样做,但这不是问题所在-首先无法创建zip文件。ls-ld/var/www/html/?的权限/所有者/组是什么?我很确定您需要将zip文件写入777目录。我会为此创建一个特殊的目录,并让cron每分钟(或任何时间)运行一次php,以取消10分钟以上所有文件的链接。您命令的progym输出是
drwxrwxr-x+6 apache root 4096 Mar 20 15:38/var/www/html/
。BarryDevSF,问题是脚本首先无法创建.zip文件,我不太清楚你的建议如何解决这个问题。
[root@callisto var]# ls -l /var/www/html/
total 104
-rwxrwxr-x+ 1 apache root   420 Mar 20 16:54 about.php
-rwxrwxr-x+ 1 apache root   346 Mar 20 15:34 about.php~
drwxrwxr-x+ 2 apache root  4096 Mar 20 15:34 css
-rwxrwxr-x+ 1 apache root  1341 Mar 20 16:54 download.php
-rwxrwxr-x+ 1 apache root  1331 Mar 20 15:34 download.php~
-rwxrwxr-x+ 1 apache root   349 Mar 20 16:54 index.php
-rwxrwxr-x+ 1 apache root   346 Mar 20 15:34 index.php~
drwxrwxr-x+ 2 apache root  4096 Mar 20 15:34 js
drwxrwxr-x+ 2 apache root 12288 Mar 20 15:34 nucleidata
drwxrwxr-x+ 2 apache root  4096 Mar 20 15:58 php
-rwxrwxr-x+ 1 apache root  1332 Mar 20 16:54 plot.php
-rwxrwxr-x+ 1 apache root  1254 Mar 20 15:34 plot.php~