[PHP] upload_tmp_dir

Fermé
Signaler
-
 gregz -
Bonjour à tous.

Voilà, j'ai un VPS (serveur privé virtuel) et plusieurs sites dessus.
Je souhaite autorisé l'upload de fichier par formulaire avec PHP sur ce serveur.
Pour la config du php.ini, j'ai :
- openbase_dir non déclaré
- file_uploads à On
- upload_tmp_dir est vide
- max file size à 2Mo

Lors de mes tests, le fichier est bien envoyé par le formulaire (reponse ok de is_uploaded_file) mais move_uploaded_file renvoie 'false'. Les logs me disent que je n'ai pas accès ( failed to open stream: Permission denied ) puis que le depalcement du fichier est donc impossible (Unable to move '/tmp/php1pewgR' to...)

Dès lors, je vois que mon fichier temporaire est bien dans /tmp, donc que c'est normal que j'y accède pas (pas conseillé apparemment).

Ma question est : que mettre dans 'upload_tmp_dir' pour que chaque vhost puissent y acceder ?

J'espère avoir été clair, sinon n'hésitez pas à me demander de préciser.

Merci d'avance pour vos lumières

greg

4 réponses

Messages postés
61
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2007
23
Salut!
As tu vérifié qu' Apache a les droits sur le dossier temp de ton serveur?
Bonjour nassdak,

Merci de prendre le temps de m'aider.

J'ai essayé un 'su apache' mais j'obtiens le message suivant : "this account is currently not available"

et /tmp est bien en chmod 777.

Penses tu savoir d'où cela vient?
Messages postés
61
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2007
23
Si tmp est à 777, les droits sont accordés à tout le monde, donc je ne vois pas de quoi ça peut venir...
As-tu testé ton script en local, voir si ce n'est pas une erreur ds le code?
En fait j'ai aussi un pack mutualisé chez le même hébergeur, et sur celui ci le script fonctionne (c'est juste un fichier de test avec un form).

D'après ce que je trouve sur google, cela peut aussi venir d'une configuration inadaptée du fichier httpd.conf.

Mais je ne vois pas quoi changer pour que chaque fichier temporaire envoyé par le formulaire se stocke dans un repertoire '/temp' (par exemple) à la racine du domaine qui contient ce formulaire...

D'autres pistes?
Messages postés
61
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2007
23
non désolé je ne vois rien d'autres...
Est ce que tu sais si cela peut venir de la différence de version PHP ? Sur le pack mutualisé, c'est PHP 4.4.4, alors que sur le VPS c'est PHP 5.0.4...
Résolu.

Un 'ls -l' de la racine m'affiche le dossier /tmp avec tous les droits.
Je fais par dessus un 'chmod 0777 /tmp', et l'upload fonctionne...

Si ca peut aider quelqu'un...

merci a+