Php 在drupal中上载图像时出错
我试图将一个自定义徽标上传到我的drupal站点,该站点使用PHP在IIS 8上运行。Php 在drupal中上载图像时出错,php,drupal,drupal-7,Php,Drupal,Drupal 7,我试图将一个自定义徽标上传到我的drupal站点,该站点使用PHP在IIS 8上运行。 我收到以下上载错误: “警告:移动上传的文件”(temporary://logo.png):无法打开流:“DrupalTemporaryStreamWrapper::stream\u open”调用在drupal\u move\u uploaded\u file()中失败(C:\inetpub\wwwroot\drupalfull\includes\file.inc的第1642行)。 警告:移动上载的文件(
我收到以下上载错误:
“警告:移动上传的文件”(temporary://logo.png):无法打开流:“DrupalTemporaryStreamWrapper::stream\u open”调用在drupal\u move\u uploaded\u file()中失败(C:\inetpub\wwwroot\drupalfull\includes\file.inc的第1642行)。
警告:移动上载的文件():无法将“C:\Windows\Temp\php25C3.tmp”移动到temporary://logo.png'在drupal\u move\u上载的\u file()(C:\inetpub\wwwroot\drupalfull\includes\file.inc的第1642行)。
文件上载错误。无法移动上载的文件。“
请帮帮我。我已经在IIS上设置了读写权限,但它仍然不起作用。创建sites/default/files/tmp文件夹并授予完全权限(777),并在admin/config/media/filesystem中更改“临时目录” 我想它解决了你的问题
问候。您的问题很可能是drupal内部的权限问题。由于您使用的是windows系统,因此需要确保文件夹站点/default/文件具有IIS服务器的可写权限。将权限配置为可供所有用户写入,查看其是否有效,然后逐步限制权限,直到您感到满意为止 如果您正在运行ISS8(web服务器),则文件路径与Unix的默认路径不同。 确保在Drupal中的设置中正确设置了临时文件夹,并且该文件夹具有写入权限 您可以在第5步和第6步中阅读本文。 创建文件夹: Drupal使用Sites\Default\Files目录存储临时文件,因此必须能够写入和修改此文件夹中的文件
我要在这里放另一个答案,因为我保证我会忘记我是如何修复它的 基本上,在Windows上,PHP的默认上载文件夹是C:\Windows\Temp。作为Drupal上载的一部分,它将文件从PHP上载文件夹移动到Drupal临时/:文件夹。然而,PHP中存在一个问题,即PHP可执行文件需要对上传文件的完整路径具有读取权限,因此C:\Windows\Temp。如果未给出此选项,则会出错,并且不会移动文件 详细信息是在Drupal的上传文件代码中进行的函数调用
我的解决办法是在别处创建一个文件夹,比如C:\PHPTemp,然后修改PHP的设置(session.save_path和upload_tmp_dir)以指向该文件夹。在给予IIS_IUSRS完全控制权(可能是过度杀戮!)之后,我就可以上传图像了 对不起,你能详细说明一下吗,因为我是php的新手,配置/媒体/文件系统是你后台的选项。必须创建tmp文件夹,并且路径必须与后台配置匹配