Variable SCRIPT_URI en PHP

Bonjour,
Malgré quelques années d’informaticien, je me suis lancé sur Linux récemment. De questions en questions sur Google, j’ai fait mon installation assez sereinement.
Le but de cette installation est de faire un petit système de saisie de données en PHP, lesquelles sont traitées avec des fonctions que mon hébergeur ne propose pas.
Mes premiers tests se sont bien passés, les fonctions marchent comme je l’entends.
Je suis en phase de prototype de ma petite application. Tout va bien sauf que …
Je tombe invariablement sur ce problème :
Notice: Undefined index: SCRIPT_URI in /var/www/html/panier.php on line 147

Effectivement la variable $_SERVER contient beaucoup de choses, mais pas de SCRIPT_URI dont j’ai bien besoin …

Plusieurs dizaines d’heures de recherches plus tard … je reste sec …

A priori, j’ai bien validé le mode rewrite dans apache … qui devrait résoudre le pb depuis la version 2.2 (je suis en 2.4.10.10)
Une chose m’étonne, de nombreux articles mentionnent un fichier de configuration d’apache, or, j’ai bien l’impression d’en avoir un paquet … alors que j’ai fait une installation “standard” avec Synaptic.

Si quelqu’un connaît le problème, je suis preneur … je craque un peu … :open_mouth:
Un pb d’install ???
Un module manquant ???

Help !

Merci !!!
Rémi

Sur ton installation, PHP fonctionne avec le module apache (mod_php), avec php-fpm, ou une autre implémentation ?

From scratch, Apache ne lit qu’un seul fichier de configuration (httpd.conf), mais le paquet debian éclate la config dans plusieurs fichiers pour qu’elle soit plus lisible (c’est le cas de la plupart des distribs en fait, mais elles ne le font pas de la même façon).

Bonjour et merci pour ta réponse …

C’est le module apache.

J’ai effectivement lu pas mal de doc qui explique de httpd.conf est éclaté pour plus de souplesse …
Au passage, j’ai trouvé confirmation que les variables URI dépendent bien de ce mode rewrite dans des docs apache et/ou debian.

Il y a manifestement un problème plus embêtant : dans le log d’Apache, Apache assume le nom du serveur. Or, j’ai bien renseigné ServerName … ???

Encore merci !

Ça m’étonne que ça dépende de mod_rewrite. Je dirais plutôt que la variable n’est présente que sur les implémentations CGI de PHP, donc pas le module apache. Mais je n’en suis pas certain.

Pour le ServerName, tu en as un dans chaque vhost qui renseigne quel vhost utiliser en fonction de la requête, et tu as aussi une directive ServerName générale (dans apache2.conf sous debian) qui indique le nom du serveur, qui génère effectivement un warning si elle n’est pas présente.