Submitted by Kiritsu on
Bonjour.
J'ai récemment installé un Drupal (7.32) sur un serveur qui ne m'appartient pas. Le problème est que, depuis l'installation de ce Drupal, je n'ai pas les permissions de modifier les chmods des dossiers. De même, lorsque j'essaie d'ajouter un contenu avec image, Drupal me retourne une erreur m'indiquant qu'il n'a pas pu déplacer l'image du fichier tmp au fichier de destination :
Warning: move_uploaded_file(): open_basedir restriction in effect. File(/home/tmp/php/phpBKRRLYL) is not within the allowed path(s): (/home/tmp/sessions/:/home/XXX/public_html/:/home/XXX/shared) in drupal_move_uploaded_file() (line 1639 of /home/XXX/www/public_html/YYY/drupal-7.32/includes/file.inc).
Warning: move_uploaded_file(): open_basedir restriction in effect. File(/home/tmp/php/phpBKRRLYL) is not within the allowed path(s): (/home/tmp/sessions/:/home/XXX/public_html/:/home/XXX/shared) in drupal_move_uploaded_file() (line 1639 of /home/XXX/www/public_html/YYY/drupal-7.32/includes/file.inc).
Warning: move_uploaded_file(/home/tmp/php/phpBKRRLYL): failed to open stream: Operation not permitted in drupal_move_uploaded_file() (line 1639 of /home/XXX/www/public_html/YYY/drupal-7.32/includes/file.inc).
Warning: move_uploaded_file(): Unable to move '/home/tmp/php/phpBKRRLYL' to '/home/XXX/www/public_html/YYY/drupal-7.32/sites/default/files/anime.jpg' in drupal_move_uploaded_file() (line 1639 of /home/XXX/www/public_html/YYY/drupal-7.32/includes/file.inc).
Comme on peut le voir dans l'erreur, Drupal utilise apparemment le dossier tmp du serveur et j'aimerai qu'il utilise un dossier à l'intérieur du dossier "drupal-7.32". Comment pourrais-je modifier le dossier tmp dans lequel Drupal stocke les données ? Dans le fichier includes/file.inc (si oui, quelle(s) ligne(s) dois-je modifier pour effectuer cela ?) ? Autre ?
Je précise que l'admin' serveur n'est pas disponible pour une longue période du coup et étant un projet urgent, je ne pourrai pas attendre son retour pour modifier les permissions.
Votre aide sera donc très précieuse.
Merci d'avance !
Le répertoire temp se
Permalien Soumis par vincent59 le 22 Octobre, 2014 - 16:58
Le répertoire temp se paramètre dans les écrans d'administration : configuration / système de fichier.
Il est ainsi possible de lui mettre un chemin absolu, dans ton arborescence
Bonsoir vincent59.
Permalien Soumis par Kiritsu le 23 Octobre, 2014 - 01:58
Bonsoir vincent59.
Visiblement, le problème n'est pas corrigé même en changeant ce paramètre.
J'ai déjà essayé de mettre différents chemins dans la journée (j'ai créé un fichier temp à la racine du dossier drupal-7.32 et ai tenté comme chemin "temp", "/temp", "/www/public_html/xxx/drupal-7.32/temp", ou encore le lien absolu "www.xxx.com/yyy/drupal-7.32/temp", Drupal affiche toujours la même erreur :
Warning: move_uploaded_file(): Unable to move '/home/tmp/php/phpBKRRLYL' to '/home/XXX/www/public_html/YYY/drupal-7.32/sites/default/files/anime.jpg' in drupal_move_uploaded_file() (line 1639 of /home/XXX/www/public_html/YYY/drupal-7.32/includes/file.inc).
C'est toujours "tmp" qui est utilisé et non "temp". Par contre, quand je change le lien du dossier public, l'erreur apparaît toujours mais le changement d'url est bien affiché (par exemple, si je change le dossier public en "/home/XXX/www/public_html/YYY/drupal-7.32/sites/default/files/images", il m'affiche bien dans l'erreur ce même chemin).
Est-ce que tu as tenté /home
Permalien Soumis par vincent59 le 23 Octobre, 2014 - 10:24
Est-ce que tu as tenté /home/XXX/shared ? dans ton premier message c'était listé comme l'un des répertoires accessibles
Il y a peut-être des restrictions additionnelles via un fichier .htaccess
Toujours pas, j'ai pensé
Permalien Soumis par Kiritsu le 23 Octobre, 2014 - 14:12
Toujours pas, j'ai pensé aussi que ça fonctionnerait mais l'erreur revient toujours avec le même nom de chemin temporaire (tmp et non pas shared ou temp ou autre). Comme si les modifications d'url que je mettais en place n'était pas prise en compte. Avec watchdog, je vois dans le rapport d'erreur ceci également : Upload error. Could not move uploaded file affiche.jpg to destination public://affiche.jpg.
Public fait-il référence au dossier racine du serveur (auquel cas il faudrait que je change ça puisque mon drupal se trouve sous plusieurs sous-dossiers) ?
Merci pour les solutions apportées plus haut !
Bonjour à tous les deux
Permalien Soumis par bigbert le 23 Octobre, 2014 - 10:57
Bonjour à tous les deux,pardonnez-moi de venir m'incruster dans la discussion, mais j'ai eu le même souci lors de mon install. C'est effectivement depuis l'admin du site qu'on choisit le chemin pour coller le dossier/tmp, mais pour ma part je me suis aperçu qu'il fallait le créer physiquement. Drupal ne s'en charge pas. Il ne suffit donc pas de le déclarer. Néanmoins il génère automatiquement le .htaccess.
Par ailleurs je me pose la question du meilleur endroit pour coller ce dossier. J'ai vu qu'il était conseillé de le mettre à la racine lors de la production, ok, mais après, où faut-il le mettre pour ne pas qu'il soit accessible depuis internet comme indiqué?? (désolé je débute)
Merci de m'aider si vous avez des infos là-dessus