Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Snow Leopard php dans le répertoire /Users/~Utilisateur/Sites

9 réponses
Avatar
Pierre
Bonjour,


Décidément, rien à faire à chaque changement de version, je galère
pour faire à nouveau fonctionner correctement le couple php/mysql

Suite à la mise à jour de ma machine de Léopard vers Snow Leopard,
j'ai modifié dans le php.ini les chemins de msysql.sock
et ça fonctionne bien pour les sites qui sont rangés dans
Bibliothèque\WebServer\Documents

En revanche pour ceux qui sont rangés dans :
\Users\~ple\Sites
Le php n'est pas interprété...

Pourtant j'ai bien le fichier ple.conf avec le chemin qui va bien
à l'endroit qui va bien.

Qu'est-ce qui peut bien avoir changé entre les deux versions ?

Je trouve bien de la doc pour activer php et installer mysql qui
fonctionnent correctement maintenant mais rien pour activer
simultanément deux directory root pour Apache.

Quelle vacherie de devoir à nouveau tout décortiquer à chaque changement
de version !

Je ne sais pas où chercher :
Dans httpd.conf ?
Dans le fichier php.ini ?
Ailleurs ?

D'avance merci pour votre aide !

Pierre

9 réponses

Avatar
patpro ~ patrick proniewski
In article <4dd1b8fa$0$13074$,
Pierre wrote:

Suite à la mise à jour de ma machine de Léopard vers Snow Leopard,
j'ai modifié dans le php.ini les chemins de msysql.sock
et ça fonctionne bien pour les sites qui sont rangés dans
BibliothèqueWebServerDocuments



/Library/WebServer/Documents/ plutôt.

En revanche pour ceux qui sont rangés dans :
Users~pleSites
Le php n'est pas interprété...



Tu as une erreur, ou tu vois simplement le code php affiché dans ton
navigateur ?

Pourtant j'ai bien le fichier ple.conf avec le chemin qui va bien
à l'endroit qui va bien.



prouve le :)

Qu'est-ce qui peut bien avoir changé entre les deux versions ?

Je trouve bien de la doc pour activer php et installer mysql qui
fonctionnent correctement maintenant mais rien pour activer
simultanément deux directory root pour Apache.



il n'y a qu'un DirectoryRoot par virtual host, et a priori, tu n'as
qu'un virtual host. Puis DirectoryRoot n'a aucun impact dans cette
histoire. Tu devrais lire la doc Apache.

Quelle vacherie de devoir à nouveau tout décortiquer à chaque changement
de version !



C'est uniquement parce que tu ne sais pas comment ça fonctionne.

Je ne sais pas où chercher :
Dans httpd.conf ?



oui

Dans le fichier php.ini ?



non

Ailleurs ?



sans doute pas.


patpro

--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133
Avatar
Pierre
Suite à la mise à jour de ma machine de Léopard vers Snow Leopard,
j'ai modifié dans le php.ini les chemins de msysql.sock
et ça fonctionne bien pour les sites qui sont rangés dans
BibliothèqueWebServerDocuments



/Library/WebServer/Documents/ plutôt.



Oui ! Exact !

En revanche pour ceux qui sont rangés dans :
Users~pleSites
Le php n'est pas interprété...



Tu as une erreur, ou tu vois simplement le code php affiché dans ton
navigateur ?


Je vois simplement le code php affiché dans mon navigateur.
Donc le code php n'est pas interprété ce qui me faisait penser qu'il y a
peut-être un chemin qui ne convient pas dans php.ini
Je tourne en rond depuis un moment ne sachant plus ce que j'avais fait
sous Leopard pour que ça fonctionne.
Quant à la doc à ce sujet, j'avoue que je m'y perds complètement.
J'ai fait des tas d'essais et d'erreurs, mais visiblement je ne capte
pas comment on peut avoir deux Directory Root :
/Library/WebServer/Documents/
et
/Users/~ple/Sites

J'ai essayé en vain toutes les opérations décrites ici :
http://kevchapman.co.uk/development/setting-up-apache-on-snow-leopard/

Rien ne veut fonctionner. Pire ! Cela fait dysfonctionner
la partie opérationnelle (/Library/WebServer/Documents/)

Merci pour ton aide.

Pierre
Avatar
patpro ~ Patrick Proniewski
In article <4dd21e41$0$28346$,
Pierre wrote:

Je vois simplement le code php affiché dans mon navigateur.
Donc le code php n'est pas interprété ce qui me faisait penser qu'il y a
peut-être un chemin qui ne convient pas dans php.ini



php.ini n'a rien a voir la dedans. Si tu as un doute, déplace le pour
que PHP fonctionne avec ses valeurs par défaut.

Je tourne en rond depuis un moment ne sachant plus ce que j'avais fait
sous Leopard pour que ça fonctionne.
Quant à la doc à ce sujet, j'avoue que je m'y perds complètement.
J'ai fait des tas d'essais et d'erreurs, mais visiblement je ne capte
pas comment on peut avoir deux Directory Root :
/Library/WebServer/Documents/
et
/Users/~ple/Sites



Tu n'as pas deux DirectoryRoot, tu en as un, et on s'en fout :)
Le concept même du DirectoryRoot est étranger à la problématique
d'interprétation du PHP. Apache est capable de travailler avec plein de
fichiers, y compris en dehors du DirectoryRoot. Tu te focalises sur un
faux problème.

J'ai essayé en vain toutes les opérations décrites ici :
http://kevchapman.co.uk/development/setting-up-apache-on-snow-leopard/

Rien ne veut fonctionner. Pire ! Cela fait dysfonctionner
la partie opérationnelle (/Library/WebServer/Documents/)



Pourquoi as-tu seulement été essayer 50 trucs piochés à droite et à
gauche ?

dans /etc/apache2/httpd.conf, tu dois avoir cette ligne sans "#" :

LoadModule php5_module libexec/apache2/libphp5.so

C'est la seule ligne à modifier pour que PHP fonctionne.
Si tu as un doute, reprends les fichiers de config d'origine, et fais
juste cette manip.
Ensuite, tu éteints ton partage web, tu attends 5 secondes, tu le
rallumes, et tu testes.

patpro

--
A vendre ! http://www.patpro.net/blog/index.php/2008/01/12/133
Avatar
Pierre
J'ai essayé en vain toutes les opérations décrites ici :
http://kevchapman.co.uk/development/setting-up-apache-on-snow-leopard/

Rien ne veut fonctionner. Pire ! Cela fait dysfonctionner
la partie opérationnelle (/Library/WebServer/Documents/)



Pourquoi as-tu seulement été essayer 50 trucs piochés à droite et à
gauche ?

dans /etc/apache2/httpd.conf, tu dois avoir cette ligne sans "#" :

LoadModule php5_module libexec/apache2/libphp5.so

C'est la seule ligne à modifier pour que PHP fonctionne.


Cette ligne, c'est la première chose que j'ai vérifiée
et j'ai effectivement un site SPIP placé dans /Library/WebServer/Documents
qui fonctionne parfaitement : le php est interprété et la base de
données marche parfaitement.
Ce qui ne marche pas ce sont les sites situés dans
mon compte à l'intérieur du dossier Sites dédié.
Et je ne comprends pas pourquoi puisqu'avant l'upgrade à Snow Leopard
tout ça marchait parfaitement.
Comment faire en sorte que ce dossier Sites se comporte de la
même manière que le dossier /Library/WebServer/Documents
vis à vis de php et mysql.

Franchement, je n'ai pas l'impression d'être le seul à galérer sur ce
genre de truc...

C'est donc bien en désespoir de cause que je suis amené à aller chercher
des solutions à des problèmes qui soient semblables à ce que je
rencontre avec les risques que ça comporte.
Et en définitive c'est pour éviter cela que j'expose les choses ici.

Mon erreur de départ a été de croire qu'ayant réussi une fois à bien
faire fonctionner php/mysql cela allait continuer à marcher simplement à
chaque changement de version.
J'utilise donc largement les apports de ce langage et de cette base de
données.
Mais problème, chaque fois que je passe d'une version à l'autre,
tous mes outils se retrouvent bloqués et c'est la cata !
Et l'agacement de devoir y consacrer à nouveau du temps et des
recherches évidemment n'aide pas. Donc je me calme !

Pierre
Avatar
patpro ~ Patrick Proniewski
In article <4dd257bf$0$17756$,
Pierre wrote:

>> J'ai essayé en vain toutes les opérations décrites ici :
>> http://kevchapman.co.uk/development/setting-up-apache-on-snow-leopard/
>>
>> Rien ne veut fonctionner. Pire ! Cela fait dysfonctionner
>> la partie opérationnelle (/Library/WebServer/Documents/)
>
> Pourquoi as-tu seulement été essayer 50 trucs piochés à droite et à
> gauche ?
>
> dans /etc/apache2/httpd.conf, tu dois avoir cette ligne sans "#" :
>
> LoadModule php5_module libexec/apache2/libphp5.so
>
> C'est la seule ligne à modifier pour que PHP fonctionne.
Cette ligne, c'est la première chose que j'ai vérifiée
et j'ai effectivement un site SPIP placé dans /Library/WebServer/Documents
qui fonctionne parfaitement : le php est interprété et la base de
données marche parfaitement.
Ce qui ne marche pas ce sont les sites situés dans
mon compte à l'intérieur du dossier Sites dédié.




Tu as du casser quelque chose. Je ne vois pas d'autre solution.
Par défaut, il suffit de décommenter la ligne "LoadModule
php5_module..." pour que PHP fonctionne partout.

Crée un autre compte utilisateur, mets du php dans son ~/Sites/ et
regarde si ça marche.

patpro

--
A vendre ! http://www.patpro.net/blog/index.php/2008/01/12/133
Avatar
Pierre
Tu as du casser quelque chose. Je ne vois pas d'autre solution.
Par défaut, il suffit de décommenter la ligne "LoadModule
php5_module..." pour que PHP fonctionne partout.

Crée un autre compte utilisateur, mets du php dans son ~/Sites/ et
regarde si ça marche.


J'ai finalement fait une copie de php.ini puis supprimer php.ini lui-même.
Du coup php marche bien dans les deux répertoires.
Mais mysql ne fonctionne plus car les chemins pour mysql.sock ne sont
pas bons.
Ensuite j'ai donc recréé php.ini à partir de php.ini.default
puis modifié les chemins pour mysql.sock comme suit :
pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

ainsi que :
date.timezone = Europe/Paris


Le site SPIP situé dans le répertoire Library/WebServer/Documents
marche parfaitement.
A nouveau les sites dans les répertoire Sites ne sont plus interprétés
en php....

Je vais créer un autre compte utilisateur pour voir ce qu'il en est.

Pierre
Avatar
Pierre
Tu as du casser quelque chose. Je ne vois pas d'autre solution.
Par défaut, il suffit de décommenter la ligne "LoadModule
php5_module..." pour que PHP fonctionne partout.

Crée un autre compte utilisateur, mets du php dans son ~/Sites/ et
regarde si ça marche.


J'ai finalement fait une copie de php.ini puis supprimer php.ini lui-même.
Du coup php marche bien dans les deux répertoires.
Mais mysql ne fonctionne plus car les chemins pour mysql.sock ne sont
pas bons.
Ensuite j'ai donc recréé php.ini à partir de php.ini.default
puis modifié les chemins pour mysql.sock comme suit :
pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

ainsi que :
date.timezone = Europe/Paris


Le site SPIP situé dans le répertoire Library/WebServer/Documents
marche parfaitement.
A nouveau les sites dans les répertoire Sites ne sont plus interprétés
en php....

Je vais créer un autre compte utilisateur pour voir ce qu'il en est.

Pierre


Mêmes symptômes avec un nouveau compte utilisateur.

Hum ! Ce problème n'est pas ce que je pensais cela semble du au
changement de version de php.
Le debut de mon fichier index.php est :
<?php
include("include/config.php");
include("include/fonctions.inc.php");
include ("include/dbconnect.php");


Avec un php.ini, les fichiers contenus dans un include ne sont pas
interprétés alors qu'ils le sont lorsque php.ini est absent.
Il doit donc y avoir une instruction particulière dans le fichier
php.ini qui induit ce comportement. Mais laquelle ?

Suggestions bienvenues.

Merci pour l'aide.

Pierre
Avatar
patpro ~ Patrick Proniewski
In article <4dd28a9b$0$20455$,
Pierre wrote:

Avec un php.ini, les fichiers contenus dans un include ne sont pas
interprétés alors qu'ils le sont lorsque php.ini est absent.
Il doit donc y avoir une instruction particulière dans le fichier
php.ini qui induit ce comportement. Mais laquelle ?



va savoir.

mets un fichier toto.php dans ton Sites, contenant seulement la ligne :

<?php phpinfo(); ?>

Si ça marche, alors php est correctement interprété, et la cause de ton
problème est dans ton code.

patpro

--
A vendre ! http://www.patpro.net/blog/index.php/2008/01/12/133
Avatar
Pierre
Avec un php.ini, les fichiers contenus dans un include ne sont pas
interprétés alors qu'ils le sont lorsque php.ini est absent.
Il doit donc y avoir une instruction particulière dans le fichier
php.ini qui induit ce comportement. Mais laquelle ?



va savoir.

mets un fichier toto.php dans ton Sites, contenant seulement la ligne :

<?php phpinfo(); ?>

Si ça marche, alors php est correctement interprété, et la cause de ton
problème est dans ton code.


OK ! Merci !
Ca marche correctement avec la ligne :

<?php phpinfo(); ?>

Cette histoire m'a induit en erreur.
Désolé pour le bruit...

Pierre