2010-08-09 8 views
0

Voici un exemple. Est-il possible de sauvegarder le tampon de sortie. Je voudrais mettre en cache ce que ça va produire.Utilisation de l'OB pour capturer l'erreur?

header('Content-type: text/css'); 
ob_start("compress"); 


function compress($buffer) { 
    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer); 
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer); 
    return $buffer; 
} 


include('layout.css'); 
include('pages.css'); 
include('form.css'); 
include('global.css'); 

ob_end_flush(); 
+0

Vous avez un script en cours d'exécution où? Sur un serveur distant? Sur le serveur local? S'il vous plaît soyez plus précis, sinon les gens doivent deviner. –

Répondre

0

Avez-vous essayé de feuilleter les journaux d'erreurs? Selon le serveur, vous pouvez trouver cette information dans le fichier vhost où il est stocké. Cela devrait être votre première ligne d'action est regarder à travers les journaux d'erreur Apache, car ils devraient montrer toutes les erreurs.

Par exemple, je mis le mien à (sur Ubuntu) /var/log/apache2/sitename.error.log

0

Je pense que vous pourriez penser à quelque chose comme dans this comment sur la page de documentation set_error_handler:

Cependant, je deuxième commentaire de premiso sur l'utilisation journaux d'erreur à la place. Surcharger error_handling n'est pas intuitif et conduit généralement à plus de complications que d'utilité dans mon expérience.

Voir:

sont deux PHP_INI_ALL, de sorte qu'ils peuvent être réglés dans le script en utilisant ini_set(), ou .htaccess, ainsi que des emplacements de configuration globale .