2012-09-20 3 views
0

J'ai une application qui marche bien sur mon serveur local (wamp, apache v2.22.2, php 5.4.3) et un serveur de test unix (apache, php 5.3).
Mais cela ne fonctionnera pas sur le serveur de production qui fonctionne sur Windows en raison d'autres exigences.
code va comme ceci:Php sort le contenu pendant la mise en mémoire tampon

function renderFile() 
... 
ob_start(); 
ob_implicit_flush(false); 
require($_viewFile_); 
return ob_get_clean(); 

Le problème est que le contenu du fichier qui est inclus est outputed immédiatement et non retour de la fonction. Le problème est que cela fonctionne sur les serveurs locaux et de test, mais pas sur le nouveau serveur de production qui se trouve sur Windows. Est-ce à cause de la configuration d'apache/iis ou de php?

+0

Vous le rincez avant d'avoir le contenu – wesside

Répondre

1
function renderFile() { 
    ob_start(); 
    include($_viewFile_); 
    $view = ob_get_contents(); 
    ob_end_clean(); 
    return $view; 
} 

Faites maintenant ce que vous voulez avec $view.

echo renderFile(); 
+0

Non, ce n'est pas ça. ob_get_clean - Récupère le contenu actuel du tampon et supprime le tampon de sortie courant. De plus, pourquoi cela fonctionnerait sur deux autres serveurs et pas celui-ci. Et ob_implicit_flush (false) est ce que flush ne se produit pas à chaque appel de sortie. – praxus

Questions connexes