繁体   English   中英

在Drupal中上传图片时出错

[英]Error Uploading images in drupal

我试图将自定义徽标上传到我的drupal网站,该网站在使用PHP的IIS 8上运行。
我收到以下上传错误:


" Warning: move_uploaded_file(temporary://logo.png): failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed in drupal_move_uploaded_file() (line 1642 of C:\\inetpub\\wwwroot\\drupalfull\\includes\\file.inc). Warning: move_uploaded_file(): Unable to move 'C:\\Windows\\Temp\\php25C3.tmp' to 'temporary://logo.png' in drupal_move_uploaded_file() (line 1642 of C:\\inetpub\\wwwroot\\drupalfull\\includes\\file.inc). File upload error. Could not move uploaded file." 请帮我。 我已经在IIS上设置了读取和写入权限,但仍然无法正常工作。

创建sites / default / files / tmp文件夹并赋予完全权限(777)并在admin / config / media / file-system处更改“临时目录”。

我认为它可以解决您的问题。

问候。

您的问题很可能是drupal内部的权限问题。 由于您使用的是Windows系统,因此需要确保文件夹site / default / 文件具有IIS服务器的可写权限。 将权限配置为对所有用户都可写,然后查看该权限是否有效,然后逐步限制权限,直到您感到满意为止。

如果您正在运行ISS8(Web服务器),则文件路径与Unix的默认路径不同。 确保在Drupal中的设置上正确设置了临时文件夹,并且该文件夹具有写权限。

您可以在第5步和第6步关注本文。创建文件夹:

Drupal使用Sites \\ Default \\ Files目录存储临时文件,因此,Drupal必须能够在此文件夹中写入和修改文件。

  1. 创建文件夹:

C:\\ inetpub \\ wwwroot \\ Drupal> md站点\\默认\\文件

http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis

我要在这里输入另一个答案,因为我保证我会忘记我如何解决它!

基本上,在Windows上,PHP的默认上载文件夹为C:\\ Windows \\ Temp。 作为Drupal上传的一部分,它将文件从PHP上传文件夹移动到Drupal Temporary //:文件夹。 但是,PHP中存在一个问题,即PHP可执行文件需要对上载文件的完整路径具有读取权限,因此C:\\ Windows \\ Temp。 如果没有给出,它将出错并且文件将不会被移动。

有关详细信息,请访问http://php.net/manual/en/function.realpath.php ,这是在Drupal的上传文件代码中进行的功能调用。

我的解决方法是在其他位置创建一个文件夹,例如C:\\ PHPTemp,然后修改PHP的设置(session.save_path和upload_tmp_dir)以指向该文件夹。 在完全控制IIS_IUSRS(可能是过度杀伤力!)之后,我便能够上传图像!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM