upload sur dédié ovh

Petit nouveau ! | 6 Messages

03 mars 2008, 18:48

Bonjour,

Je viens de passer des scripts qui fonctionnent (testés sur un autre dédié) sur un nouveau dédié chez ovh.
Un problème apparaît avec l'upload de fichier.
Apparemment il a du mal à placer le fichier uploadé dans le répertoire indiqué dans la fonction move_uploaded_file().
Pourtant, ce dernier est bien en chmod 755 et j'ai fixé le owner à nobody.

Que puis-je bien oublier ?

Merci !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

03 mars 2008, 19:00

Aïe un dédié chez OVH... ...nan je plaisante :P

1) Quel est le message d'erreur?
2) Mets le owner au même utilisateur que celui qui fait tourner apache. Si tu ne le connais pas, crées un fichier avec PHP (file_put_contents), regarde son owner et mets le même pour ton répertoire cible.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 6 Messages

03 mars 2008, 19:18

Apache tourne sous le user nobody.
J'ai fait un "chown -R repertoire nobody" mais la fonction move_uploaded_file() ne copie toujours pas le fichier. Elle renvoie false.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

03 mars 2008, 19:30

Et tu n'as pas de message d'erreur sinon?
Une autre solution pourrait être d'essayer de créer le répertoire où tu veux uploader directement en PHP avec la fonction mkdir...
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 6 Messages

03 mars 2008, 20:12

non pas d'autre message d'erreur.
Et les scripts viennent d'un autre serveur où ils fonctionnent parfaitement, c'est ça qui m'étonne...
C'est pour ça que je pense pour un pb de configuration.
Php passe bien par l'utilisateur d'apache non ?

ViPHP
ViPHP | 5924 Messages

03 mars 2008, 22:10

Ca dépend comment il est configuré. Il est en CGI ou module apache ? Tu utilises SuExec (normalement non mais on sait jamais…) ?

Petit nouveau ! | 6 Messages

03 mars 2008, 23:38

C'est l'installation par défaut.
Je pense qu'il est en module.

Edit 04/03/2008 :

J'ai fait un nouveau test.
En passant le fameux répertoire en 777 ça fonctionne.
C'est donc bien un problème de droits d'accès.

L'utilisateur n'est-il pas nobody (c'est ce que j'ai comme utilisateur pour apache) ?
Peut être Php fonctionne-t-il en CGI, il a alors son propre utilisateur ?
Comment faire pour le savoir ?

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]