2

を使用してPHPでZipアーカイブを解凍しようとしていextractToます。PHPスクリプトは、Webブラウザを介して「nobody」として実行されています。

ロジックとフロー:

  1. 新しいサブディレクトリ(「abc」など)を作成します。権限は0777で、所有者はドキュメントルートの下に「nobody」(つまり、public_htmlの1つ上のレベル)です。

  2. Zipファイルを(public_htmlの下の着信FTPディレクトリから)abcサブディレクトリにコピーします。このZipファイルのアクセス許可は0777、所有者「nobody」に設定されています。

  3. abc、パーミッション0777/nobodyの下に「解凍された」サブディレクトリを作成します

  4. extractTozipファイルを解凍したサブディレクトリに解凍するための呼び出し。

コードは次のとおりです。

if ($zip->extractTo('$abc_unzipped_path') === TRUE)
{
     [more code]
}

手順4の結果、phpスクリプトは次のエラーを返します。

ZipArchive :: extractTo()[ziparchive.extractto]:行[extractTo呼び出しの行番号]の[スクリプトパスと名前]でアクセスが拒否されました

パーミッションの問題がどこにあるのか誰かがわかりますか?

  • PHPバージョン5.2.9
  • Zlib 1.2.3
4

1 に答える 1

0

...問題はzipファイル自体にあることが判明しました。これにより、上記のエラーがさまざまに発生したか、エラーメッセージがまったく表示されませんでした(スクリプトクラッシュ)

于 2009-05-22T22:11:12.697 に答える