【问题标题】:ZipArchive::close(): Failure to create temporary file: Permission denied nginxZipArchive::close(): 创建临时文件失败: Permission denied nginx
【发布时间】:2017-04-15 07:48:24
【问题描述】:

我想要一个很好的建议来解决以下问题。 对于一个平台,我必须创建 php word 文档,而恰好在 Apache 开发环境中,这段代码可以完美执行;然而,在 nginx 平台上,我不断收到主题提示的错误:

ZipArchive::close(): Failure to create temporary file: Permission denied

构建非常简单:

$phpWord = new \PhpOffice\PhpWord\PhpWord();

//code block as in the documentation

$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord,'Word2007');

$objWriter->save('doorverwijzing_patient_xxxxxxxxxx.docx');

我在哪里更改 nginx 文件夹结构中的这些权限才能创建这些文档?

【问题讨论】:

    标签: phpword phpoffice


    【解决方案1】:

    似乎上传目录指向的是根文件夹。出于安全考虑,此文件夹没有外部写入权限。 将存储文件夹更改为(符号链接) .private/upload/ 后,错误似乎已修复。

    也许这可以帮助其他人。

    【讨论】:

    • 上传目录指向哪里?我在代码中找不到。
    【解决方案2】:

    请更改您保存文件的目标目录的权限。 该文件夹的权限必须为 0777,然后才能正常工作。

    【讨论】:

    • 777 目录权限?真的吗?
    • 无论您要解决什么问题,chmod 777 都是错误并且是一个严重的安全问题。 简而言之,您绝不能授予非特权用户对系统资源的写入权限。
    • 777 - 不利于安全
    【解决方案3】:

    我也遇到过同样的问题,花了大约 3 个小时试图解决问题,但发现问题不在代码中,问题出在我试图保存的文件的名称中。确保文件名没有特殊字符

    【讨论】:

    • 该死!我收到ErrorException : ZipArchive::close(): Failure to create temporary file: Protocol error 几个小时,无法理解真正的问题。谢谢?
    • @my_name_is_njune 无法使用您的共享解决方案。谢谢。
    【解决方案4】:

    我收到此错误是因为我没有尝试写入的文件夹。

    【讨论】:

      【解决方案5】:

      我解决了这个错误,它是路径问题。

      $objWriter->save('/your_project_folder/doorverwijzing_patient_xxxxxxxxxx.docx');

      【讨论】:

        猜你喜欢
        • 2018-11-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-18
        • 2017-10-06
        • 2021-11-08
        • 1970-01-01
        • 2021-01-31
        • 2018-11-02
        相关资源
        最近更新 更多