J'écris un script unique pour mettre à jour certains articles de la base de données. Chaque fois qu'il y a une erreur dans mon script, il échoue silencieusement.
J'ai suivi les suggestions de ce numéro de Github sans succès:
https://github.com/wp-cli/wp-cli/issues/706
J'ai également essayé d'exécuter mon script avec debug réglé sur true :
wp --debug eval-file my-script.php
Et j'ai essayé mettre WP_DEBUG
à true in wp-cli.yaml
:
# Subcommand defaults (e.g. `wp eval-file config`)
eval-file config:
extra-php: |
define( 'WP_DEBUG', true );
Encore un silence de mort.
L'ajout des lignes suivantes en haut de votre script, comme recommandé dans Le problème Github , devrait signaler les erreurs d'exécution:
ini_set( 'display_errors', 1 );
error_reporting(E_ALL);
Cependant, les erreurs de syntaxe ne seront pas signalées, ce qui constitue un gros problème lorsque vous essayez d'écrire votre script. Ceci est ma solution de contournement pour cela:
Ajouter la ligne suivante en bas de mon script:
// my-script.php
<?php
ini_set( 'display_errors', 1 );
error_reporting(E_ALL);
global $wpdb;
// rest of script
echo "Script complete.\n";
Apporter des modifications au script.
// my-script.php
<?php
ini_set( 'display_errors', 1 );
error_reporting(E_ALL);
global $wpdb;
// rest of script
derp-some-invalid-syntax...
echo "Script complete.\n";
Script de lancement:
$ wp --debug eval-file my-script.php
Si je ne vois pas Script complete.
, lancez php linter:
$ php -l my-script.php
Parse error: syntax error, unexpected '.' in my-script.php on line 7
Errors parsing my-script.php
Corrige les erreurs de syntaxe.