Discussion:
php et bash sous linux
(trop ancien pour répondre)
Nico
2007-08-20 07:31:14 UTC
Permalink
Salut

Je voudrai créer un fichier à partir d'un bdd Mysql
J'ai tenté cette création de fichier en php, mais je niaque les timeout.

J'ai envie de tenté donc de créer mon fichier (page html, en fait c'est
une création d'un fichier de cache sur une grosse requête) en bash.

Est-ce que vous avez le truc pour interprété le php en bash sous Linux ?

Nico
John GALLET
2007-08-20 08:10:11 UTC
Permalink
Bonjour,
Post by Nico
Est-ce que vous avez le truc pour interprété le php en bash sous Linux ?
Ca relève quasiment de la lecture du manuel (cf Charte) mais vu que même
moi j'ai parfois du mal à retrouver où ils ont foutu cette section, voici
quelques informations et pointeurs.

http://fr2.php.net/manual/en/features.commandline.php
Remplacer /en/ par /fr/ pour avoir la traduction et ses erreurs.

1) il faut compiler php pour qu'il soit dispo en ligne de commande (CLI
Command Line Interface). Par défaut sauf surcharge de --prefix, ça termine
dans /usr/local/ si ma mémoire est bonne. Utiliser les commandes which et
find pour le trouver, ou utiliser un phpinfo(); appelé en http pour
vérifier les options de compilation.

2) à partir d'un shell on peut demander l'aide avec:
#>php --help
Noter deux options en particulier:
php -l toto.php : pour les habitués de lint, vérificateur de syntaxe
php -f toto.php : exécuter le code.

3) on peut carrément indiquer que l'interpréteur à utiliser n'est pas bash
mais php, et donc au lieu de :
#!/bin/bash
mettre en début de script:
#!/usr/local/bin/php
et un chmod u+x sur le script

4) Enfin si le but est de faire un select depuis du sql sans trop faire de
tripatouillages on peut directement, par exemple avec mysql faire:

SELECT col1,col2,col3 FROM matable WHERE ... dans toto.sql

mysql -u user -p <toto.sql >result.txt

a++;
JG
Marc
2007-08-20 12:51:45 UTC
Permalink
Post by Nico
Salut
Je voudrai créer un fichier à partir d'un bdd Mysql
J'ai tenté cette création de fichier en php, mais je niaque les timeout.
J'ai envie de tenté donc de créer mon fichier (page html, en fait c'est
une création d'un fichier de cache sur une grosse requête) en bash.
Est-ce que vous avez le truc pour interprété le php en bash sous Linux ?
oui, en général, sous linux, il existe des packets nommés php-cli, php5-cli,
php4-cli suivant les versions de votre OS préféré.

CLI : ca veut dire Command Line Interpreter, donc l'interpréteur de commande
en ligne.

Il suffit pour executer un script de faire : php -q script.php
Ca supporte aussi les conventions

!#/usr/bin/php -q
...
# suite du script
# ne pas oublier le chmow a+x

Concernant le timeout, il est possible de le supprimer sur une commande cli.
La commande cli dispose a cet effet d'un fichier de configuration distinct
de l'extension tournant via apache (module ou CGI).

j'hope que ca aide :-)

Continuer la lecture sur narkive:
Loading...