• User

    compilazione php 5 con apxs2

    ciao a tutti,
    ho provato a compilare php 5 con apache2 (--with-apxs2=/usr/local/apache2/bin/apxs) però quando apro alcune pagine php mi da una pagina bianca. sapete aiutarmi? sto impazzendo 😞

    ps: il file che viene compilato (libphp5.so) è grande 12 mb, invece quello che ho trovato in giro per internet sarà al massimo 5mb significa qualcosa?

    grazie a tutti in anticipo 🙂

    (non ditemi di usare il file più piccolo, perche ho bisogno di dover compilare il tutto e quindi mi sarebbe inutile utilizzare quel file)


  • User Attivo

    Ciao phakko,
    aiutarti così, senza enucleare un problema preciso è praticamente impossibile...
    Comunque prova ad aprire una pagina semplice semplice, con al suo interno solo del codice tipo:
    <?php
    echo "ciao";
    ?>
    Inoltre, apache funziona? Cioè se vai in http:// 127.0.0.1 vedi qualcosa?
    :ciauz:


  • User

    allora alcune pagine le apre altre mi da una pagina bianca, cmq se faccio l'echo me lo visualizza e il server apache funziona correttamente (se vado su 127.0.0.1 vedo il directory listing della wwwroot

    se vuoi ti posso inviare il file libphp5.so compilato da me...


  • User Attivo

    cmq se faccio l'echo me lo visualizza
    ... allora php funziona, non capisco qual'è il problema.:bho:

    Dacci qualche altra indicazione!
    :ciauz:


  • User

    vi posto il phpinfo della libreria compilata da me? può essere utile? per capire se il codice viene interpretato a meta (magari manca qualche funzione, quindi il link a qualche libreria) come posso fare? abilito E_ALL?


  • User Attivo

    No, forse è meglio se ci spieghi a parole qual'è il problema, perché rileggendo il thread non capisco più qual'è il problema...:bho:


  • User

    una volta compilato php 5, copio il file libphp5.so nei moduli di apache, è che alcune pagine php vengono eseguite (e viene mostrato l'output a video) e invece altre pagine php viene mostrata una pagina bianca (non so se quelle determinate pagine vengono eseguite o meno, visto che viene restituita una pagina vuota). questo è il problema, come posso risolverlo?


  • User Attivo

    Non è possibile dire qual'è la casua. Può essere che le pagine che testi non debbano fornire alcun output a video... Dovresti provarle su un sistema che sai per certo funzionare a dovere e trarre le dovute conclusioni.

    Spesso, in fase di prima installazione, possono sfuggire alcune estensioni, tipo php3, ecc... oppure non essere abilitati alcuni delimitatori di php com il semplice <? piuttosto del più usuale <?php.

    Comunque se le tue pagine non funzionassere dovresti vedere a schero il codice php come fosse normale testo. Il fatto che tu non veda nulla sembra più probabilmente un codice php eseguito...
    :ciauz:


  • User

    comuque le pagine che testo so per certo che funzionano e restituiscono output a video! testate già con una versione già compilata di php5 per ubuntu, quindi le pagine che testo funzionano per certo, il problema è quando compilo io php 5 alcune di queste pagine riesco a vederle (ed interagisco perfettamente) altre solo pagina bianca


  • User Attivo

    ...e restituiscono output a video!
    Tutte? Anche quelle che sulla versione da te compilata non danno alcun output?

    In caso affermativo posta un esempio di pagina php che solo sulla versione di php da compilata non fornisce un output a video.


  • User

    <?php
    if ($_GET['op'] == 'logout') {
    $_SESSION['logged'] = false;
    session_destroy();
    }

    require '../config.php';
    
    require '../includes/lib.template.php';
    
    require 'login.php';
    
    
    
    $templ = new template();
    
    $templ2 = new template();
    
    
    
    $templ->setTemplate("templates/$template/index.tpl");
    
    
    
    $op = isset($_GET['op']) ? $_GET['op'] : (isset($_POST['op']) ? $_POST['op'] : "");
    
    $id = isset($_POST['id']) ? $_POST['id'] : "";
    
    $execute = isset($_POST['execute']) ? $_POST['execute'] : "";
    
    
    
    if ($_GET['p'] == 'logger') require 'logger.php';
    
    elseif ($_GET['p'] == 'encoder') require 'encoder.php';
    
    elseif ($_GET['p'] == 'obfuscator') require 'obfuscator.php';
    elseif ($_GET['p'] == 'settings') require 'settings.php';
    
    elseif (!empty($default_module)) require $default_module . '.php';
    
    
    
    $array = Array(
    
    	"VER" => $version,
    
    	"CLASS" => $class,
    
    	"L_VER" => $content,
    
    	"DESC" => $desc,
    
    	"BODY" => ($sql->connected) ? @$body : '<span id="error">' . NOT_SQL_CONNECT . '</span>');
    $templ->setValues($array);
    
    
    
    $content = $templ->finalTemplate('prefixed');
    foreach($langs as $key => $value) $content = str_replace('{' . $key . '}', $value, $content);
    echo $content;
    

    ?>

    nota: tutti i require funzionano


  • User Attivo

    Ok, adesso con un po' di pazienza, devi fare il classico debug...
    Inizia con il farti stampare tutto ciò che è contenuto negli array, aggiungendo in fondo allo script:

    ***var_dump($_GET); ***
    ***var_dump($_POST); ***
    ***var_dump($array); ***
    var_dump($langs);

    e chi più ne ha, più ne metta...;)
    Controlla quindi gli output e cerca di capire quale array risulta inaspettatamente vuoto o mal formato.

    Inoltre potresti aver settato l'output degli errori in modo da non vedere nulla, pertanto, subito dopo <?php metti:

    error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

    in modo da vedere eventuali errori o warning.

    Purtroppo di più non posso dirti perché con tutti quegli inclede non posso ovviamente testare lo script...
    :ciauz:


  • User

    qui non si tratta di errore di codice, il codice è testato! funziona, è un problema della compilazione della libreria...capire solo cosa non va nel libphp5.so, non mi serve il debug di uno script che funziona.


  • User Attivo

    Il debug serve solo per risalire al problema di compilazione...


  • User

    Non sono esperto di compilazioni, ma se dici che le pagine che sul tuo server vedi bianche, su un altro server le vedi bene allora è effettivamente un problema del tuo server o della tua libreria php.

    Se è così, prova a settare un ```
    error_reporting(E_ALL)

    
    Ciauz

  • User

    😞 nessun errore mostrato con E_ALL e sempre solita pagina bianca 😞 non so davvero cosa fare...

    comunque escludo che il problema sia del mio server perchè sul mio server in locale (dove tutti gli script testati funzionano) se sostituisco il libphp5.so mi da il problema delle pagine bianche (non tutte, soltanto alcune). quindi il problema è sicuramente di quel file, tutto sta capire perchè...
    mi sta facendo impazzire!