J'utilise le php.exe de WAMP pour éxécuter mes script php par l'intermédiaire d'un .bat . J'utilise (pour info) STDIN pour récupérer les entrées claviers de l'utilisateur :
function stdin($nbCaraEntre){ // STDIN : descripteur de fichier représentant ce qui est entré au clavier. // trim() : supprimme les espaces au début et à la fin du texter. $line = trim(fgets(STDIN, $nbCaraEntre + 1)); // lit une seule ligne depuis STDIN return $line; } echo(" - Veuillez entrer votre prenom : " $prenom = stdin(255);
J'aimerais me connécter à mySQL de WAMP (après l'avoir démarré) :
tout d'abord, vérifie que tu as bien un fichier php.ini dans ton repertoire php. Si ce n'est pas le cas, copie celui qui se trouve dans ton repertoire apache. Quand tu utilise php en ligne de comande (et uniquement là) c'est lui qui sera utilisé.
Dans ce PHP.ini verfife que php_mysql est bien activé.
Ensuite, il faut bien sûr que ta base de données MySQL soit lancée pour t'y connecter donc verifie bien q'uelle tourne quand tu lances ton sript php.
Enfin...j'en sais rien ;-) Si ca ne marche toujours pas, repost un message et je me plongerai plus profondement dans ton problème ;-)
J'ai décommenté : extension=php_mysql.dll dans le php.ini du répertoire php de wamp, et ça marche. J'arrive donc depuis un script php, éxécuté en ligne de commande, à me connécter à mySQL......c génial !!!!
Pourrais-tu m'expliquer pourquoi les script php éxécutés via apache (dans www) réussicent eux à se connécter à mySQL malgrés le fait que la ligne ;extension=php_mysql.dll soit commentée ?
J'ai une autre petite question : Pourquoi system("dir" fonctionne (dans un script php, éxécuté en ligne de commande) et pas system("cls" (pour éffacer l'écran de la fenêtre de ligne de commande) system("color"
verifie bien mais normallement la ligne est bien décommentée dans le php.ini utilisé par WAMP5 (le php.ini de WAMP5 se trouve dans le répertoire apache de WAMP5).
Sinon pour le reste, je pense savoir pourquoi et je vais essayer de te l'expliquer clairement :-).
Lorsque tu lances une console dos, tu executes directement des command dos dedans. Par contre, lorsque tu lances PHP dans une console, c'est lui qui execute les commandes et affiche leur resultat. Par exemple, avec la commande
system("dir"
php execute la commande 'dir' et renvoie son résultat vers la sortie standard (la console dans notre cas). Avec la commande
system("cls"
php execute cette commande (qui s'execute en fond et ne fait donc aucune action) et renvoie le résultat vers la sortie standard, cad rien.
En gros, ce que tu voies ce n'est pas une console dos mais une console PHP donc les commandes ne s'y appliquent pas.
J'spère avoir été clair...et ne pas me tromper ;-)
Ok g capté.... Donc je ne peux pas éffacer l'écran (dans un script php, éxécuté en ligne de commande).
Je vais devoir me résoudre à sauter 50 lignes entre chaque écrans pour simuler system("cls" : function enteteTransitionEcran(){ echo("\n\n\n.....\n\n\n" } c nul mais bon....