完成magento 1.9.2.3的全新安装后,我意识到从后端上传图像时出现问题。文件获得权限640而不是644.如何调整此值,以便当magento将图像上传到服务器时,它会获得644?
目前我必须使用SSH或acp手动设置权限。
谢谢分配!
完成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);
Magento 1.9.2.3或SUPEE-7405包含对文件权限的一些更改。通过Magento管理面板上传的文件(即产品图片上传)默认情况下不再是全局可读的(之前:644 /之后:640)。 目录也不是世界可执行的(之前:755 /之后:750)。这导致Web服务无法从Magento读取新创建的文件。
解决方案不是更改核心文件以更改文件权限,而是将运行Web服务的用户添加到PHP配置用户的组中。 例如,我在我的服务器上运行nginx,所以这是解决问题所必须做的事情:
升级到Magento 1.9.2.4,它解决了补丁SUPEE-7405或Magento 1.9.2.3引起的问题。 如果由于某种原因你无法升级那么你应该安装SUPEE-7405 v 1.1,这将纠正权限问题。 Magento自己的这个补丁恢复了限制较少的文件权限(文件为0666,目录为0777),这使您可以正常查看图像等。
file:- lib/Varien/File/Uploader.php
第219行:
chmod($destinationFile, 0640);
chmod($destinationFile, 0644);
第541行:
if (!(@is_dir($destinationFolder) || @mkdir($destinationFolder, 0750, true))) {
至:
if (!(@is_dir($destinationFolder) || @mkdir($destinationFolder, 0755, true))) {
该解决方案适用于我们同样的问题。花了大约10个小时寻找解决方案,很高兴我们找到了它。
请参阅解决方案和参考链接。
解: Magento Community Edition 1.9.2.3和安全补丁SUPEE-7405引入了一个新的图像上传错误,导致新上传图像的文件权限不正确。
如果您上传了任何未显示的图像,首先要为文件和数据库设置正确的文件权限。
要永久解决问题,您需要修改Magento中的文件。
重要说明:这是一个手动黑客攻击,在Magento升级过程中将被覆盖。
打开以下文件: - LIB /瓦瑞恩/文件/ Uploader.php
寻找这一行: - chmod($ destinationFile,0640);
用这条线替换它: - chmod($ destinationFile,0644);
寻找这一行: - chmod($ destinationFile,0750);
用这条线替换它: - chmod($ destinationFile,0755);
保存文件,上传的下一张图片应正确加载。