web-dev-qa-db-fra.com

Magento 1.9.2.3, après avoir téléchargé des images depuis le backend, l'autorisation est définie sur 640 au lieu de 644

Après une nouvelle installation de magento 1.9.2.3, j'ai réalisé qu'il y avait un problème lorsque je télécharge des images depuis le backend. les fichiers obtiennent l'autorisation 640 au lieu de 644. Comment puis-je régler cela de sorte que lorsque Magento télécharge une image sur le serveur, il obtient 644?

Pour le moment, je dois utiliser SSH ou acp pour définir manuellement les droits d'accès.

merci beaucoup!

11
Skypiboy

Ouvrez le fichier suivant:

lib/Varien/File/Uploader.php

Cherchez cette ligne:

chmod($destinationFile, 0640);

Remplacez-le par cette ligne:

chmod($destinationFile, 0644);

Cherchez cette ligne:

chmod($destinationFile, 0750);

Remplacez-le par cette ligne:

chmod($destinationFile, 0755);
10
Salvio Pepe

Mettez à niveau vers Magento 1.9.2.4, qui résout les problèmes causés par le patch SUPEE-7405 ou Magento 1.9.2.3. Si, pour une raison quelconque, vous ne pouvez pas effectuer de mise à niveau, vous devez installer SUPEE-7405 v 1.1, qui résoudra le problème des autorisations. Ce correctif, dans les propres mots de Magento, restaure des autorisations de fichier moins restrictives (0666 pour les fichiers et 0777 pour les répertoires), ce qui vous permettra d'afficher les images, etc. normalement.

2
Devtype

Magento 1.9.2.3 ou SUPEE-7405 inclut quelques modifications aux autorisations de fichiers. Les fichiers téléchargés via le panneau d'administration Magento (c'est-à-dire les téléchargements d'images de produit) ne sont plus lisibles par tout le monde par défaut (avant: 644/après: 640). Les répertoires ne sont pas non plus exécutables (avant: 755/après: 750). Cela empêche le service Web de lire les fichiers nouvellement créés à partir de Magento.

La solution ne modifie pas les fichiers principaux pour modifier les autorisations de fichier, mais ajoute l'utilisateur qui exécute le service Web au groupe de l'utilisateur configuré PHP. Par exemple, j’exécute nginx sur mon serveur, c’est ce que j’ai dû faire pour résoudre le problème:

  • usermod -a -G nomgroupe nomutilisateur usermod -a -G
  • php-fpm-configuré-nom-groupe nginx
2
Devtype
file:- lib/Varien/File/Uploader.php


ligne 219:

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



ligne 541:

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

à:

if (!(@is_dir($destinationFolder) || @mkdir($destinationFolder, 0755, true))) {
1

Cette solution a fonctionné pour nous pour le même problème. Nous avons passé environ 10 heures à chercher une solution avec plaisir.

Veuillez voir la solution et le lien référencé.

Cliquez ici pour voir le lien de solution

Solution: Magento Community Edition 1.9.2.3 et le correctif de sécurité SUPEE-7405 ont introduit un nouveau bogue concernant le téléchargement d'images, qui entraînait des autorisations de fichier incorrectes pour les images récemment téléchargées. 

Si vous avez téléchargé des images qui ne s'affichent pas, la première chose à faire est de définir les autorisations de fichier correctes pour vos fichiers et vos bases de données. 

Pour résoudre définitivement le problème, vous devrez modifier un fichier dans Magento. 

Remarque importante: il s'agit d'un hack manuel qui sera écrasé lors d'une mise à niveau de Magento. 

Ouvrez le fichier suivant: - Lib/Varien/File/Uploader.php

Recherchez cette ligne: - Chmod ($ destinationFile, 0640);

Remplacez-le par cette ligne: - Chmod ($ destinationFile, 0644);

Recherchez cette ligne: - Chmod ($ destinationFile, 0750);

Remplacez-le par cette ligne: - Chmod ($ destinationFile, 0755);

Enregistrez le fichier et la prochaine image téléchargée devrait se charger correctement.

0
Daniel Macadar