Bonjour,
Dans le cadre d'un projet web pour la licence informatique, nous devons réalisé un site d'annonce en ligne en php5 avec notament la possibilité de s'authentifier (utilisation des sessions) mais également d'uploader des images (donc besoin du droit d'écriture, et pour cela le professeur souhaite que notre contrôleur .php soit transformé en .cgi afin qu'il puisse avoir les droits du propriétaire pour écrire l'image uploadée dans un répertoire).
Les deux choses implémentées de manière séparée fonctionne :
1) Nous avons fait tout notre site avec des <?php session_start().... où aucun espace n'est envoyé au navigateur pour éviter toute erreur avec les headers. Pas de problème, ça marche.
2) Le script d'upload des fichiers fonctionne, mais pour le tester, nous avons dabord mis les droits d'écriture sur un répertoire pour pas s'embêter tout de suite avec les cgi.
3) On avait fait un tp auparavant où on a réalisé un système d'upload avec cgi et sans session et idem, ça fonctionnait.
Et voilà, qu'on décide de passer le contrôleur en .cgi
On ajoute en première ligne du fichier le #!/usr/lib/cgi-bin/php5
On ajoute le droit d'éxécuter par chmod 755
On ne fait pas de dos2unix, car on travaille sur unix de toute façon.
Après tout ça, les sessions ne fonctionnent plus. L'erreur indiqué, je pourrais vous la dire plus précisément demain (lorsque je retournerais à la fac) mais il me semble que c'était une erreur avec les headers. J'ai pensé que la première ligne #!/usr/lib/cgi-bin/php5 devait poser problème pour le session_start mais pour le prof, ça n'est pas ça le problème, pour lui cela devrait très bien fonctionner.
quelqu'un serait-il au courant d'une quelconque précaution supplémentaire à prendre lorsqu"on passe du php au cgi, ou bien d'une erreur qu'on aurait pu faire que le php nous a pardonné mais que le cgi ne pardonne généralement pas...
J'essaierais toutes les manoeuvres qu'on me proposera demain. Sauf modif de la config du php.ini du cgi dont je ne suis pas le propriétaire.
Merci d'avance !






Répondre avec citation
Partager