ホームページ  >  に質問  >  本文

laravelを使用してdockerコンテナでzipファイルを抽出しようとすると奇妙な動作が発生する

PHP 8.1.7 上で Laravel 9 を実行している Docker コンテナ アプリケーションで zip アーカイブを抽出しようとしていますが、奇妙なエラーが発生します。

したがって、コントローラーでこのコードを試してみると

リーリー

アーカイブ内のファイルは正しく抽出されましたが、次のエラーが返されました:

エラー例外 ZipArchive::extractTo(/var/www/html/public/my_folder/my_file.xml): 操作が失敗しました: 操作は許可されていません

同じコードを phpArtisantinker で実行すると、機能します。

この問題の解決策を持っている人はいますか?

アクセス許可関連の問題ではないようです。フォルダーは 777 アクセス許可で作成され、ファイルは正しくコピーされます。

######編集###### リーリー ###ありがとう###
P粉665679053P粉665679053309日前539

全員に返信(1)返信します

  • P粉668804228

    P粉6688042282024-01-08 10:09:20

    まったく同じ問題に遭遇しました。私の場合、Windows インストールのディレクトリからファイルを抽出していたために、この問題が発生しました。

    つまり、/var//html/public/my_folder は、Windows からの /mnt/dev/my_folder へのシンボリック リンクです (C: 例: \dev \my_folder) )。

    Linux や Windows とはファイル システムが異なるため、ZipArchive クラスの特定の何かがこのエラーの原因となっているようです。

    この問題は、/tmp/my_folder 内のファイルを抽出し、/var//html/public/my_folder に移動することで修正しました。

    リーリー ###お役に立てれば。

    返事
    0
  • キャンセル返事