MAMP et PHP

Pierre-Jean GOULIER

Membre actif
5 Décembre 2004
410
20
64
Ste Menehould (51)
perso.wanadoo.fr
Bonjour à toute l'équipe du magazine,

J'ai lu avec beaucoup d'intérêt les articles consacrés à MAMP et PHP... Tout ceci m'a l'air passionnant, mais... il y a un mais...

J'aime beaucoup votre magazine, mais il me semble parfois que vous ne structurez pas assez progressivement vos articles, surtout lorsque vous touchez à un domaine aussi complexe que les bases de données, les serveurs, etc. Vous êtes capables parfois de faire une page entière avec 3 photo d'écrans sur "comment copier un fichier", et éluder plein d'infos sur des sujets plus complexes... Ok, l'exemple cité est une caricature...

Bien sûr, vous faites référence à des articles déjà parus, et vous n'allez pas continuellement refaire ce qui a été fait, mais il me semble que l'article sur MySQL et PHP passe un peu trop vite sur des points qui doivent laisser pas mal d'ombre dans la tête de vos lecteurs...

A mon avis, il faudrait reprendre ce qu'est "Apache", le SQL et le PHP : à quoi ça sert, dans quel domaine, etc. C'est quoi un serveur, le partage Web, ...

Vous avez peut-être voulu éviter d'être "barbant", et avez opté pour l'exemple concret à saisir au clavier... Mais taper quelque chose que l'on ne comprend pas, sans savoir où on veut en venir, est très frustrant !

A noter :

CocoaMySQL semble buggé : il ne prend aucun mot de passe (pb d'encryptage) ; il faut laisser cette ligne vide...
L'exemple que vous avez fourni s'arrête à la 2e étape : Erreur de connexion - base
J'ai pourtant vérifié ma saisie (enfin, je crois...).

Question subsidiaire : où est stockée la base créée ?

Amicalement, PJG
 
Effectivement, le n°54 sans le n°53, c'est plus difficile. Effectivement, nous pourrions détailler à quoi servent tous ces machins. C'est une excellente idée.
Mais nous avons voulu entrer tout de suite dans le concret. On met les gens au volant avant de leur expliquer à quoi sert la pipe d'admission.
Sans doute n'est pas assez clair. Dieu sait pourtant si nous essayons d'être didactique.

Pour l'exemple, nous l'avons réalisé au préalable. Il fonctionne chez nous.

CocoaMySQL accepte les mots de passe et tout le reste, il fonctionne chez nous régulièrement.


L'erreur que vous rencontrez semble provenir d'une erreur de votre part. Avez vous le n°53 ?

En plus, un détail n'a pas été mentionné dans ce numéro car nous l'avons noté trop tard, il faut effectuer une modification lorsqu'on travaille avec des champs texte :
il faut éditer le fichier « php.ini » qui se trouve dans le répertoire lib de php5 et php4 (eux-mêmes situés dans le répertoire bin du dossier MAMP que vous avez enregistré dans les Applications).
Ouvrez avec TextEdit en mode texte le fichier php.ini et trouvez la ligne contenant le terme :

register_globals = Off

Il ne reste plus qu'à changer le Off en On, à sauvegarder ce fichier au même endroit et à relancer les serveurs PHP et MySQL depuis le panneau de MAMP.
 
"Pour l'exemple, nous l'avons réalisé au préalable. Il fonctionne chez nous."

OK. On va ré-essayer ça tranquillement...

"CocoaMySQL accepte les mots de passe et tout le reste, il fonctionne chez nous régulièrement.
L'erreur que vous rencontrez semble provenir d'une erreur de votre part. Avez vous le n°53 ?"

Là, je suis un peu plus dubitatif... J'ai le n° 53 (je suis abonné)
Hypothèses :
1 - Je n'ai pas compris ce qu'il faut rentrer... Voilà ce que je saisis :
Host => je tape "localhost" (sans les guillemets)
User => je tape "root"
Password => je tape "root"
Je me doute d'une gauffre à ce niveau là... !! J'ai aussi essayé de taper mon nom d'utilisateur (de session) à la place de localhost, pas mieux... Peut-être pourriez-vous essayer d'être plus clair et m'expliquer ce qui'l faut saisir et dans quel but ?

2 - Je fais tout bien comme y faut, mais la version de CocoaMySQL est incompatible avec le 10.4.2... possible, vu que ce prg date de 2003.

Merci d'avoir répondu si vite, ça renforce encore un peu plus mon intérêt pour votre travail !

PJG
 
je sens que je vais être rabat joie mais

CocoaMySQL fonctionne chez avosmac 10.4.2 (je peux envoyer une copie d'écran pour appuyer mes dires)


il faut bien sur activer MySQL et PHP avant de faire quoi que ce soit. L'utilitaire MAMP sert à ça

essayez d'entrer votre IP suivie de :8888

exemple :

localhost:8888

ou

10.0.1.1:8888
 
avosmac a dit:
je sens que je vais être rabat joie mais
CocoaMySQL fonctionne chez avosmac 10.4.2 (je peux envoyer une copie d'écran pour appuyer mes dires)
il faut bien sur activer MySQL et PHP avant de faire quoi que ce soit. L'utilitaire MAMP sert à ça
essayez d'entrer votre IP suivie de :8888
exemple :
localhost:8888
ou
10.0.1.1:8888

Bon, bah, j'ai un G5 en bois alors... :D
Je ne peux me connecter qu'en host = localhost, User = root et Password laissé vide...

J'ai essayé toutes vos solutions : localhost:8888, mon adresse IP, l'adresse IP du localhost (avec ou sans :8888), nada, nothing, que tchi...
Mais, attention, ne me faites pas écrire ce que je n'ai pas écrit ! Je vous fait ENTIEREMENT confiance !
y'a forcément un truc qui n'est pas conforme chez moi, ou que je n'ai pas pigé, ou les 2 !

Je réfléchis 5' et je vous en recause, si vous me permettez de vous "tenir" avec ça !

PJ
 
Bonjour, j'utilise MAMP depuis un certain temps (mais pas CocoaMySQL) et je voudrais juste signaler au magazine que contrairement à ce que vous dites dans le dernier numéro, le dossiers ou les pages PHP sont interpréter est "htdocs" dans le dossiser MAMP (celui dans /Applications) Car le dossiers dont vous parlez est utiliser par le logiciels pour ses propores fichiers er un lecteur d'AVM pourrait en effacer un sans faire exprès.
Ensuite, voir ici.

Autre erreur : vous dîtes que TOUTES les lignes de code PHP divent se finir par un ; : c'est faut. De plus, toutes les instructions les plus utiliser (if else elseif while etc...) sont en générale sur plusieurs lignes et ne nécessitent pas de ;
Bloc de code:
exemple:
<?php
$n = 0;
while ($n < 10) {
    echo '$n = ' . $n . '<br />';
    $n++;
}
?>
Mais ce n'est pas le plus grave : dans le premier exemple, vous ne le mettez pas (le ; ) même si dans ce cas là c'est censé marcher quand même, je ne trouve pas ça bien... (je crois de tête que l'exemple c'est : echo "essai" ou un truc comme ça.

Ensuite, vous devriez expliquer un peu le XHTML avant le PHP et surtout utiliser du XHTML à la place du HTML dans vos exemple : un exemple tout bête, mettez <br /> à la place de <BR> etc....


Bon mais à part ça, AVM, c'est géniale (j'achète tout les numéro depuis le HS n°11 sur l'open-source :up:, évitez de me dire "abonnement = mons chère", c'est prévu :D)



Sinon pour le problème de Pierre-Jean GOULIER, essaye d'utiliser PHPMyAdmin (fourni avec MAMP) : Tu ouvre MAMP, il ouvre une page web (sinon tu clique sur le boutton "page d'accueil" de la fenetre de MAMP), et là, tu aurras un lien dans la barre de menu vers phpmyadmin. il est préconfigurer donc aucun soucis :up:


personnelement, j'utilise eSKUel (http://eskuel.sourceforge.net je crois...)


Pablo.
 
Pierre-Jean GOULIER a dit:
Bon, bah, j'ai un G5 en bois alors... :D
Je ne peux me connecter qu'en host = localhost, User = root et Password laissé vide...

J'ai essayé toutes vos solutions : localhost:8888, mon adresse IP, l'adresse IP du localhost (avec ou sans :8888), nada, nothing, que tchi...
Mais, attention, ne me faites pas écrire ce que je n'ai pas écrit ! Je vous fait ENTIEREMENT confiance !
y'a forcément un truc qui n'est pas conforme chez moi, ou que je n'ai pas pigé, ou les 2 !

Je réfléchis 5' et je vous en recause, si vous me permettez de vous "tenir" avec ça !

PJ

Bonjour
J'avais le meme problème jusqu'à ce matin.
CocoaMySQL s'est connecté avec la saisie les champs comme suit :

Host => localhost
User => root
Password => root
Socket => le chemin spécifé dans la page Bienvenue dans Mamp «ou vous pouvez vous connecter à l'aide d'un socket UNIX »

j'en suis la et pour le reste c'est une autre histoire&#8230;
DeniX
 
Bonsoir

Moi aussi je rencontre quelques problèmes pour faire fonctionner ce CocoaMysql, dont ce cher Avosmac nous a mis l'eau à la bouche.

La seule manière que j'ai trouvé pour rentrer dans CocoaMysql c'est de lui indiquer /Applications/MAMP/tmp/mysql/mysql.sock dans le socket. Sans rien d'autre ! pas d'utilisateur ni de mot de passe.

En haut de la fenêtre CacaoMysql (sorry !) je lis @localhost/ (Mysql 4.1.12) Ça me cause pas vraiment comme nom mais dans le menu Choose Database je vois Test. Ça me rappelle quelque chose. Oui j'avais vu une Db avec ce nom sur MAMP avec le sqliteManager.

En fouillant un peu dans le dossier mamp, je peux donc dire que les bases sont stockées dans le répertoire Db. Dans ce répertoire on trouve 2 sous répertoire mysql et sqllite. Dans le répertoire mysql on trouve un repertoire Test et aussi un répertoire mysql. Je pense que c'est dans le répertoire Db/mysql/ que l'on trouve les bases créées avec Phpmyadmin (j'ai vu une de mes bases de test)

Je vous raconte tout ça pour faire avancer le débat, car j'aimerai vraiment comparer les interfaces de saisie entre PhpMyAdmin, que je trouve un poil technique.

Question suivante : je suis sur d'avoir vu un bouton sqlliteManager sur MAMP, mais il a disparu !!
Pourquoi tant de tracas !

Alain
 
Vérification faite, CocoaMySQL fonctionne en local avec les coordonnées :

localhost (ou 127.0.0.1)
root (utilisateur)
root (mot de passe)

8889 (noté, il s'agit d'un 9 > port)


lorsque vous ouvrez en revanche un epage dan sun navigateur c'est :


http://localhost:8888/...
 
avosmac a dit:
Vérification faite, CocoaMySQL fonctionne en local avec les coordonnées :

localhost (ou 127.0.0.1)
root (utilisateur)
root (mot de passe)

8889 (noté, il s'agit d'un 9 > port)


lorsque vous ouvrez en revanche un epage dan sun navigateur c'est :


http://localhost:8888/...

Merci pour vos informations. Malheureusement je n'arrive toujours pas à faire fonctionner CocoaMySql. Mon Mac est sous 10.3.9 et la version de Cocoa 0.5 (v0.5)

Mais bonne nouvelle, Yoursql (http://yoursql.ludit.it/download.php) fonctionne et m'affiche bien les bases / tables créées avec PhpMyadmin

A bientôt
Alain
 
Voici une solution pour la connexion à MySQL avec CocoaMySQL (qui fonctionne pour Mac OS 10.4.2 et MAMP 1.0.1 dernière version à ce jour) :
MAMP étant démarré, renseignez dans l'invite de CocoaMySQL comme suit :

Host : laisser vide
User : root
Password : root
Database : laisser vide
Socket : /Applications/MAMP/tmp/mysql/mysql.sock
Port : laisser vide

Vous validez et pouvez enfin créer sauvagement votre base d'abonnés pour continuer le pas-à-pas de Avosmac.

Quand vous avez créé une base vous pouvez la rajouter dans l'invite de connexion de CocoaMySQL.
 
Bonjour,

Je suis dans le même cas d'un certain nombre d'entre vous. Ayant besoin de gérer une base MySQL, je me suis dit que les numéros 53 et 54 sur php tombaient à pic.

Mais si MAMP fonctionne correctement, impossible de lancer CocoaMySQL.

Je suis sous Tiger 10.4.2 US avec MAMP-1.0.1 en US, et CocoaMySql 0.5 US
que je teste localhost, 127.0.0.1, 10.0.0.1, mon login ou rien comme host, rien n'y fait.
J'ai aussi essayé avec seulement l'adresse socket, et toutes les combinaisons intermédiaires.
Pourtant http://localhost:8888/MAMP/?language=English fonctionne correctement ainsi que phpMyAdmin et j'ai pu créer une structure de base identique à celle que vous présentez.

Il y a donc bien un problème quelque part. j'ai essayé sur un MAMP1.0.1 installé soit à partir du disque image, soit à partir du package. J'ai aussi essayé avec différent réglages du Firewall.

J'ai également cherché les fichiers php.ini dans MAMP>bin>phpX>lib que vous conseillez de modifier sans succès. En fait ils sont dans MAMP>conf>phpX.

YourSQL ne me permet pas non plus d'accéder à la base, ce qui me conforte dans l'idée d'un mauvais réglage quelque part, mais où ?
J'ai aussi essayer de vérifier les permissions sur les dossiers et fichiers de MAMP, mais ne sachant pas ce qui doit être correct, je suis pour l'instant dans l'impasse.

Pour rejoindre la remarque initiale de Pierre-Jean Goulier, je trouve que pour ce genre de dossier, un peu plus d'explication ne serait pas inutile, compte-tenu des problèmes potentiels rencontrés. D'autant plus que dans mon numéro 53, la photo de la boite de connexion de CocoaMySQL est imprimée à la "DaVinci" et à l'envers (inversée Gauche - Droite et Haus - Bas !!!), ça n'aide pas la lecture ;)

Bref, un tutorial sur phpMyAdmin dans un numéro à venir serait un bon plan puisque c'est le seul qui semble vouloir fonctionner chez tout le monde.
 
Nous y reviendrons, en plus claire, promis, juré, craché

L'explication de notre légèreté tient au fait que CocoaMysSQL fonctionne parfaitement chez nous...
 
Petit détail pour tous, il ne faut évidemment pas oublier de lancer l'utilitaire Mamp qui lance les serveurs...


La solution proposée plus haut avec :
/Applications/MAMP/tmp/mysql/mysql.sock
fonctionne à merveille avec CocoaMySQL
 
Trouvé...

Il y a bien une incompatibilité entre la version v0.5 de CocoamySQL et la version 4.1 de MySql (http://cocoamysql.sourceforge.net/faq.php).
Pour que cela fonctionne, il faut la version v0.6.4 qu'on trouve ici (c'est d'ailleurs un des 2 liens que vous donnez dans le vol53 sans préciser qu'il ne vaut pas prendre la version0.5).
http://www.theonline.org/cocoamysql/

Ensuite une connexion sans host mais avec le socket:
/Applications/MAMP/tmp/mysql/mysql.sock
et les user: root
password: root

marche chez moi ;)
 
Je ne veux pas en rajouter, mais

La bonne syntaxe de recherche page 40 du n53 est :

SELECT * FROM Abonnes WHERE Nom='Tchocanape'

et non

SELECT * FROM MaBase WHERE Nom='Tchocanape'

comme écrit

;)

En tout cas ça marche ainsi chez moi !

Dès qu'on touche à la programmation, la moindre petite erreur... se voit de suite :D
 
Vous avez raison si la table s'appelle Abonnes. Mais dans l'exemple précise que vous citez, la table s'appelle MaBase et non Abonnes. Donc chez nous, ça fonctionne avec MaBase. Il n'y a pas d'erreur même si le terme "MaBase" peut effectivement prêter à confusion. MaTable aurait été plus logique, je vous l'accorde.
 
CocoaMySQL fonctionne chez nous sous les deux versions. Je tiens les preuves à disposition.


Ce qu'il faut en fait éviter c'est le nom du poste (localhost, avosmac, etc) mais utiliser plutôt l'adresse IP : 127.0.0.1 pour le poste en local et l'adresse IP pour les postes en réseau.
 
avosmac a dit:
Vous avez raison si la table s'appelle Abonnes. Mais dans l'exemple précise que vous citez, la table s'appelle MaBase et non Abonnes. Donc chez nous, ça fonctionne avec MaBase. Il n'y a pas d'erreur même si le terme "MaBase" peut effectivement prêter à confusion. MaTable aurait été plus logique, je vous l'accorde.

Ok je pensais que c'était la suite de la page précédente où justement la table s'appelle "Abonnes" et la base "MaBase" !

Il n'en reste pas moins que ça devient difficile de suivre si d'un exemple à l'autre les bases ne sont pas référencées de la même manière !
Pensez aux pauvres utilisateurs incompétents qui doivent recréer une nouvelle base à chaque nouvel exercice !

;)