ex de commandes drush: php-script

Tags:

On a ajouté au type de contenu Page un champs Image. Sauver le script image_field.php suivant à la racine du site:

<?php
/**
* @file
* Prints the contents of the image field of a node.
* Usage: drush php-script image_field.php
*/
$node = node_load(315);
print_r($node->field_image);

logs : drush utilise la fonction drush_log()

utiliser dt() pour loguer ou afficher message selon la trad.

<?php
/**
* @file logging.php
* Sample script to test drush_log().
*/
drush_log('success: marks a successful message.', 'success');
drush_log('error: reports an error message.', 'error');
drush_log('warning: is used to alert about something.', 'warning');
drush_log('info: is used to print additional information.', 'info');

La partie "info" est là ou pas, selon la verbosité (2 valeurs: --verbose ou --quiet). Drush par défaut n'affiche que les messages de sévérité warning et errors (--quiet).
drush --verbose php-script logging.php ajoute les messages d'info, soit 4 lignes
drush --quiet php-script logging.php n'affiche que 2 lignes

/usr/local/drush/drush --root=/path/to/drupal --uri=mysite.example.com --quiet cron
plus à drush topics docs-cron
car crontab (du system) envoie un email si le job renvoie un output. Donc ici, pas d'email envoyé à chaque cron réussi, mais seilement pour les cron qui donnent [alerts] ou [warnings]

input et output streams

STDIN, STDOUT et STDERR. drush_log() note les messages dans STDERR

<?php
/**
* @file iostreams.php
* Sample script to test I/O streams.
*/
drush_log('Message ok avec drush_log()', 'success');                   affiché à l'écran car envoyé dans STDERR
drush_print('Message avec drush_print()');                                    dans iostreams.log seul
print 'Avec la fonction de PHP';                                                         "

drush php-script iostreams.php > iostreams.log         1 ligne affichée
cat iostreams.log                                                              2 autres lignes affichées

Pour avoir STDERR + STDOUT dans le fichier: drush php-script iostreams.php &> iostreams.log