【问题标题】:Why Drupal can not create a temporary file?为什么 Drupal 不能创建临时文件?
【发布时间】:2021-01-22 21:52:48
【问题描述】:

我将一个存储库从我的 drupal 站点克隆到在 Windows 机器上运行 MAMP PRO 的本地环境。所有文件和数据库均已正确设置。当我尝试运行 Drupal 8 时出现此错误。我知道这是一个权限问题,但我不确定在哪里更改权限或做什么。我尝试了很多设置,得到了相同的结果。

Drupal\Core\File\Exception\FileWriteException: Temporary file 'temporary://filF92B.tmp' could not be created. in Drupal\Core\File\FileSystem->saveData() (line 521 of core\lib\Drupal\Core\File\FileSystem.php). 


Drupal\google_tag\Entity\ContainerManager->saveSnippets(Object) (Line: 77)
Drupal\google_tag\Entity\ContainerManager->createAssets(Object) (Line: 160)
Drupal\google_tag\Entity\ContainerManager->getScriptAttachments(Array) (Line: 70)
google_tag_page_attachments(Array) (Line: 297)
Drupal\Core\Render\MainContent\HtmlRenderer->invokePageAttachmentHooks(Array) (Line: 273)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

【问题讨论】:

标签: drupal


【解决方案1】:

转到管理员 -> 配置 -> 媒体 -> 文件系统 (/admin/config/media/file-system) 以获取您的临时路径。确保它具有 Apache 用户的正确权限。

【讨论】:

  • 问题是我无法访问后端。
  • @Biok 如果是这样我认为没有办法检查 tmp 目录的权限设置
【解决方案2】:

好的,看起来不需要访问管理面板来更改临时目录。在 settings.php 中,我可以修改下面的行来设置它。在清除 Drupal 缓存并添加一个 .htaccess 文件后,它就可以工作了。

$settings['file_temp_path'] = '/tmp'; 

【讨论】:

    【解决方案3】:

    我在使用 XAMPP 在本地生产网站的副本时遇到了这个问题。 我解决了它添加到settings.php:

    $settings["file_temp_path"] = sys_get_temp_dir();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 2015-03-16
      • 1970-01-01
      • 2021-09-15
      • 1970-01-01
      • 2021-03-24
      • 2022-10-05
      • 2011-04-24
      相关资源
      最近更新 更多