Magento 1.9.2.3,从后端上传图像后,权限设置为640,而不是644

Magento 1.9.2.3,从后端上传图像后,权限设置为640,而不是644,magento,permissions,Magento,Permissions,在重新安装magento 1.9.2.3之后,我意识到从后端上传图像时出现了问题。这些文件获得的权限是640,而不是644。我如何调整此设置,使magento将图像上载到服务器时,图像的大小为644 目前,我必须使用SSH或acp手动设置权限 谢谢你 打开以下文件: lib/Varien/File/Uploader.php 请看这一行: chmod($destinationFile, 0640); chmod($destinationFile, 0644); chmod($destinat

在重新安装magento 1.9.2.3之后,我意识到从后端上传图像时出现了问题。这些文件获得的权限是640,而不是644。我如何调整此设置,使magento将图像上载到服务器时,图像的大小为644

目前,我必须使用SSH或acp手动设置权限


谢谢你

打开以下文件:

lib/Varien/File/Uploader.php
请看这一行:

chmod($destinationFile, 0640);
chmod($destinationFile, 0644);
chmod($destinationFile, 0750);
chmod($destinationFile, 0755);
将其替换为以下行:

chmod($destinationFile, 0640);
chmod($destinationFile, 0644);
chmod($destinationFile, 0750);
chmod($destinationFile, 0755);
请看这一行:

chmod($destinationFile, 0640);
chmod($destinationFile, 0644);
chmod($destinationFile, 0750);
chmod($destinationFile, 0755);
将其替换为以下行:

chmod($destinationFile, 0640);
chmod($destinationFile, 0644);
chmod($destinationFile, 0750);
chmod($destinationFile, 0755);

对于同一个问题,这个解决方案对我们有效。花了大约10个小时寻找解决方案,很高兴我们找到了

请参阅解决方案和参考链接

解决方案: Magento Community Edition 1.9.2.3和安全修补程序SUPEE-7405引入了一个新的图像上载错误,导致新上载图像的文件权限不正确

如果您上载了任何未显示的图像,首先要做的是为您的文件和数据库设置正确的文件权限

要永久解决此问题,您需要修改Magento中的文件

重要提示:这是一个手动破解,在Magento升级期间将被覆盖

打开以下文件:- lib/Varien/File/Uploader.php

查找此行:- chmod($destinationFile,0640)

将其替换为此行:- chmod($destinationFile,0644)

查找此行:- chmod($destinationFile,0750)

将其替换为此行:- chmod($destinationFile,0755)


保存文件,然后应正确加载下一个上载的图像。

Magento 1.9.2.3或SUPEE-7405包括对文件权限的一些更改。默认情况下,通过Magento管理面板上载的文件(即产品图像上载)不再是世界可读的(之前:644/之后:640)。 目录也不是全局可执行文件(前:755/后:750)。这导致web服务无法从Magento读取新创建的文件

解决方案不是通过更改核心文件来更改文件权限,而是将运行web服务的用户添加到PHP配置的用户组中。 例如,我在我的服务器上运行nginx,因此我必须这样做才能解决问题:

  • usermod-a-G组名用户名usermod-a-G
  • php fpm配置的组名nginx

第219行:

chmod($destinationFile, 0640);
chmod($destinationFile, 0644);


第541行:

if (!(@is_dir($destinationFolder) || @mkdir($destinationFolder, 0750, true))) {
致:


升级至Magento 1.9.2.4,解决由修补程序SUPEE-7405或Magento 1.9.2.3引起的问题。
如果由于某种原因无法升级,则应安装SUPEE-7405 v 1.1,这将纠正权限问题。用Magento自己的话来说,这个补丁恢复了限制较少的文件权限(0666用于文件,0777用于目录),这将使您能够正常查看图像等。

SUPEE-7405解决了一个问题,php代码可以上载到网站,然后由全局用户调用以运行它。解决办法是不允许创建世界可读文件。可能是我做的重复,不幸的是没有帮助。这让我相信,还有其他一些文件需要编辑?如果被否决,应该在服务器上更正权限,而不是修改系统中的核心文件。此解决方案重新引入了修补程序修复的问题。您无需对核心文件进行任何修改即可解决此问题,只需配置您的权限,使Web服务器成为文件的所有者或文件组的成员。mtinsley,此问题实际上是在安装最新修补程序后出现的。即使Web服务器上的权限正确,新上载的文件仍将以错误的权限上载。本案例中应用的最新补丁是7405,于2016年1月20日发布。上面的解决方案在2个站点中对我们有效。使用该修补程序,Magento以与Magento建议的文件权限一致的方式设置权限。对Magento进行核心修改以授予超出必要权限的权限可以解决问题,但这并不意味着它是正确的。您还可以通过将Web服务器添加到文件组来解决此问题,而无需触摸Magento。根据上面@mtinsley的评论,这不是一个解决方案,因此我投了反对票。这当然是更正确的做法。不幸的是,答案并不适用于所有人。这是正确的答案。默认系统用户需要与拥有文件/文件夹的用户在同一组中具有读/写权限。正确设置此选项,问题将得到解决。如果被否决,则应在服务器上更正权限,而不是通过修改系统中的核心文件。