mkdir(): Файл существует при экспорте файла Excel в laravel на IIS8

#laravel #iis-8 #php-7.2 #maatwebsite-excel

#laravel #iis-8 #php-7.2 #веб-сайт maatwebsite-excel

Вопрос:

Я пытаюсь экспортировать файл Excel из laravel, используя пакет maatwebsite / Excel, и локально все работало нормально, но когда я хотел поместить его на сервер IIS, я получаю эту ошибку: введите описание изображения здесь

вот код, ответственный за ошибку в моем контроллере:

 $date = Carbon::now()->format("d-m-y-h-m-s");
$data1= json_decode( json_encode($data), true);
$export = new ExcelExport((array) $data1);
$file= Excel::store($export,storage_path('app')."jobshistorie".$date.".xlsx", "local");
  

Я предоставил серверу разрешения для всего каталога проекта.
У меня также есть файл web.config в общедоступном каталоге:

     <?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
          <rules>
            <rule name="Rule 1" stopProcessing="true">
              <match url="^(.*)/$" ignoreCase="false" />
              <action type="Redirect" redirectType="Permanent" url="/{R:1}" />
            </rule>
            <rule name="Rule 2" stopProcessing="true">
              <match url="^" ignoreCase="false" />
              <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
              </conditions>
              <action type="Rewrite" url="index.php" />
            </rule>
          </rules>
        </rewrite>
    </system.webServer>
</configuration>
  

Мне бы пригодилась любая помощь, которую я могу получить, спасибо!

Комментарии:

1. Вы перезаписываете файл, который уже существует?

2. @namelivia нет, я называю каждый файл в соответствии с текущей временной меткой, возвращаемой Carbon, поэтому никакие 2 файла не имеют одинаковых имен

3. Вы могли бы попробовать изменить временную папку в config/excel.php это может быть проблема с разрешениями.

4. Я изменил его на это: ` ‘temporary_files’ => [ ‘local_path’ => storage_path(«app / jobsHistorie»), ‘remote_disk’ => null, ]` Но он все еще не работает

Ответ №1:

Думаю, я опоздал, но вы можете попробовать очистить кэш следующим образом: php artisan config:cache или php artisan config:clear

Надеюсь, это может помочь.

Комментарии:

1. Это также решило мою проблему. Но есть идеи, почему?