12

以下を修正する方法について良い提案をいただければ幸いです。プラットフォームの場合、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 フォルダー structtrue のどこでこれらのアクセス許可を変更すればよいですか?

4

6 に答える 6

3

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

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

于 2016-11-30T21:16:33.933 に答える
0

ファイルを保存するためのフルパスといくつかの許可により、この問題を解決しました!そのように

$objWriter->save('/var/www/project/storage/documents/file.docx');

Laravelを使用する場合は、使用するだけですpublic_path('storage/documents/file.docx');

そして最も重要なのは、このフォルダーの www-data に対するアクセス許可を確認することです

www-data をこのフォルダ「ドキュメント」の所有者にしました

sudo chown –R www-data /var/www/project/storage/documents
于 2022-03-02T08:27:03.407 に答える