web-dev-qa-db-ja.com

ZipArchive :: close():一時ファイルの作成に失敗:権限がnginxで拒否されました

以下を修正する方法を教えてください。プラットフォームの場合、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フォルダー構造のこれらの権限をどこで変更しますか?

9
MediaType

アップロードディレクトリが指しているのはルートフォルダ上にあるようです。このフォルダには、セキュリティ上の理由から外部書き込み権限はありません。ストレージフォルダーを(シンボリックリンク).private/upload /に変更した後、エラーは修正されたようです。

多分これは誰かを助けることができます。

3
Le-Nerd tm

同じ問題が私に発生した場合、問題がコードにないことを確認するためだけに解決しようとした3時間ほど、問題は保存しようとしたファイルの名前にありました。ファイル名に特殊文字が含まれていないことを確認してください

2

パスの問題であるこのエラーを解決します。

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

0

このエラーが発生したのは、書き込もうとしたフォルダーがなかったためです。

0
Abhishek Yadav