WORDPRESS(Windows Server 2012)上传文件时权限错误

5
我最近将我的WP网站从godaddy迁移到使用Windows Server 2012 R2的物理服务器。但是,我在使用管理面板上传文件时遇到问题,上传文件后,我可以在服务器上看到它(wp-content \ upload \ 2017 \ 10),但我无法在网站本身上看到它。
只有在服务器上更改权限时,我才能看到该文件。我已经将权限更改为该文件夹,给相关用户完全访问权限。但是,对于通过wp管理面板上传的新文件\图片,仍然无法正常工作。
编辑:
我注意到每次更改文件夹权限时,CREATOR OWNER下的权限总是为空,这与之有关吗?
非常感谢您的帮助。
4个回答

6
当你上传文件时,PHP会将文件发送到服务器硬盘上的临时目录(通常是C:\Windows\Temp),然后将其复制到正确的目录中。一旦文件被放入临时目录,它就会获得该目录的权限。问题在于当Windows将该文件移动到正确的位置时,它保留了临时目录的权限,这可能导致访问问题。
解决方法是将临时目录更改为WordPress安装中的文件夹,通常是wp-content/upgrade。
要执行此操作,请按照以下步骤操作: 1. 找到php.ini文件。 2. 找到upload_tmp_dir行,并将其更改为wp-content/upgrade文件夹。 3. 浏览到该文件夹并验证权限设置是否正确。 4. 然后你就能正常查看所有图片了。你很可能需要选择之前选择的所有图像,并将文件的所有者更改为网站文件夹的所有者。然后就可以愉快地使用了!

1
如果您无法上传图像,可能是因为需要在wp-content文件夹上为IUSR帐户授予读/写/修改权限。这将允许您上传并进行WordPress和插件更新。
完成后,您只需要在“C:\ Windows \ Temp”文件夹上为IIS_IUSRS组授予读取权限即可。
请注意,您所做的两个权限更改不是为同一用户/组。在wp-content文件夹上授予IUSR权限,在Windows临时文件夹上授予IIS_IUSRS权限。
注意:如果您编辑了php.ini文件并更改了上传临时目录,则需要在该文件夹上为IIS_IUSRS组授予读取权限。
这样就可以了,或者至少对我有效。

http://chris.wastedhalo.com/2011/01/wordpress-upload-permissions-on-iis-7-fix/


0

每次我将图片添加到媒体库时,如果在WordPress上传文件夹中没有正确的权限,我发现自己总是会反复面对这个问题。由于我在本地开发WordPress网站,每次在新网站上工作时都要设置上传文件夹的权限是非常麻烦的。

为了解决这个问题,我创建了一个名为"C:\Websites\Temp"的文件夹,而无需去处理权限或安全设置等。然后,在MAMP中,我编辑了我用于该网站的PHP版本(php7.3.0.ini)的php.ini模板(文件,编辑模板,PHP)。然后,我将upload_tmp_dir设置为"C:\Websites\Temp":

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = c:\websites\temp

完成了,再也没有权限问题了。


仍可在2022年使用MAMP Pro 5。 - Junky

0

好吧,几年后找到了这篇文章。尝试了一下,失败了。 另一个解决方案是在IIS中为站点分配特定的用户,并将正确的权限应用于包含站点的文件夹。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接