Я сейчас загружаю файл tar.gz из aws на свою локальную машину. Я хочу распаковать его и разархивировать, чтобы прочитать содержимое. Я получаю сообщение об ошибке при создании нового объекта PharData с расположением файла:
Fatal error: Uncaught exception 'UnexpectedValueException' with message
'unable to create temporary file for decompression of gzipped phar archive
"/Applications/XAMPP/xamppfiles/htdocs/NB/admin/temp/ea975d07f1-response.tar.gz"'
in /Applications/XAMPP/xamppfiles/htdocs/NB/admin/mcAdvanced.php:28 Stack trace: #0
/Applications/XAMPP/xamppfiles/htdocs/NB/admin/mcAdvanced.php(28):
PharData->__construct('./temp/ea975d07...') #1 {main}
thrown in /Applications/XAMPP/xamppfiles/htdocs/NB/admin/mcAdvanced.php on line 28
И мой PHP-код:
file_put_contents("./temp/ea975d07f1-response.tar.gz", fopen($response_body_url, 'r'));
$phar = new PharData('./temp/ea975d07f1-response.tar.gz'); //Error here-line28
Я думаю, что разрешения правильные. Я могу распаковать и просмотреть вручную. У кого-нибудь есть совет?
Спасибо!
Ваш веб-сервер должен иметь доступ на запись к операционной системе $TEMP
каталог для извлечения файла PHAR.
использование sys_get_temp_dir
чтобы увидеть, что это за каталог, вы можете применить правильные разрешения.
В качестве альтернативы вы можете указать другой каталог, к которому ваш веб-сервер уже имеет доступ для использования в качестве временного каталога PHP.
Какой пользователь запускает процесс Apache? Проверьте это с exec('whoami')
, Я думаю, что это только проблема разрешения для $_SERVER["APP_POOL_ID"]
, Даруй читай пиши к этой личности.