J'ai écrit un petit script en ligne de commande pour traiter un document [un fichier de démarquage avec inserts de notation musicale lilypond, par souci d'exhaustivité].Sortie imprimée sur le terminal même avec ob_start() lorsque le script est exécuté à partir de la ligne de commande
#!/usr/bin/env php
<?php
$body = "";
...
// text gets processed here and stored in $body
...
ob_start();
include 'template.php';
file_put_contents(
__DIR__ . '/' . str_replace('.md', '.html', $argv[1]),
ob_get_flush()
);
template.php
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
<div id="wrapper">
<?php echo Markdown($body); ?>
</div>
</body>
</html>
Quand j'appelle:
$ ./phlily source.md
fichier est généré correctement, mais le contenu du modèle sont imprimés à la console aussi:
GNU LilyPond 2.14.2
Processing `/Users/.../phlily/ly/4add05a74d249f34b3875ef6c3c1d79763927960.ly'
Parsing...
Converting to PNG...
<!DOCTYPE html>
<html lang="en">
<head>
...
</html>
et c'est ennuyeux parce que je veux lire les erreurs et les avertissements du script LilyPond, étant enterrés derrière le mur html dans le terminal. En bref, est-il possible de fermer le tampon de sortie dans un environnement CLI?
Que contient 'template.php'? – Ryan