stefanoxjx
17-05-2010, 23:44
Ciao a tutti, sulla mia Kubuntu, ho installato mysql, php e apache2 ed ho provato ad installare zencart.
In fase di installazione zencart non segnala nessuna dipendenza non soddisfatta e infatti l'installazione va a buon fine.
Il problema è che non appena provo ad accedere a zencart o al pannello di configurazione, mi esce una pagina completamente vuota e senza nessun errore.
Nel server (sempre con ubuntu lts) ho fatto la stessa procedura però funziona senza nessun problema.
Ho provato a creare un piccolo script php che scrive semplicemente "ciao" e funziona, allora sono andato ad indagare un po' sui sorgenti di zencart e aggiungendo degli echo ho visto che index.php all'inizio ha questo codice:
<?php
/**
* index.php represents the hub of the Zen Cart MVC system
*
* Overview of flow
* <ul>
* <li>Load application_top.php - see {@tutorial initsystem}</li>
* <li>Set main language directory based on $_SESSION['language']</li>
* <li>Load all *header_php.php files from includes/modules/pages/PAGE_NAME/</li>
* <li>Load html_header.php (this is a common template file)</li>
* <li>Load main_template_vars.php (this is a common template file)</li>
* <li>Load on_load scripts (page based and site wide)</li>
* <li>Load tpl_main_page.php (this is a common template file)</li>
* <li>Load application_bottom.php</li>
* </ul>
*
* @package general
* @copyright Copyright 2003-2005 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: index.php 2942 2006-02-02 04:41:23Z drbyte $
*/
/**
* Load common library stuff
*/
require('includes/application_top.php');
$language_page_directory = DIR_WS_LANGUAGES . $_SESSION['language'] . '/';
$directory_array = $template->get_template_part($code_page_directory, '/^header_php/');
Se metto un echo subito prima della riga require, mi viene eseguito, subito dopo no.
Quindi, visto questo sono andato a vedere il file application_top.php che inizia così:
<?php
/** prevent hack attempts which waste CPU cycles */
if((isset($_GET['main_page']) && stristr($_GET['main_page'], 'http')) || isset($_GET['autoLoadConfig']) ) {
header('HTTP/1.1 406 Not Acceptable');
exit(0);
}
Qui se metto un echo anche subito dopo <?php è come se non ci fosse.
Gli stessi file che ho usato in questo caso per l'installazione, sono gli stessi che ho usato anche sul server e quindi non è sicuramente un problema dei sorgenti ma qualcosa legato all'interprete php (secondo me almeno). :confused:
Se qualche guru riesce a spiegarmi il fatto gli sarei molto grato.
Grazie.
Ciao.
In fase di installazione zencart non segnala nessuna dipendenza non soddisfatta e infatti l'installazione va a buon fine.
Il problema è che non appena provo ad accedere a zencart o al pannello di configurazione, mi esce una pagina completamente vuota e senza nessun errore.
Nel server (sempre con ubuntu lts) ho fatto la stessa procedura però funziona senza nessun problema.
Ho provato a creare un piccolo script php che scrive semplicemente "ciao" e funziona, allora sono andato ad indagare un po' sui sorgenti di zencart e aggiungendo degli echo ho visto che index.php all'inizio ha questo codice:
<?php
/**
* index.php represents the hub of the Zen Cart MVC system
*
* Overview of flow
* <ul>
* <li>Load application_top.php - see {@tutorial initsystem}</li>
* <li>Set main language directory based on $_SESSION['language']</li>
* <li>Load all *header_php.php files from includes/modules/pages/PAGE_NAME/</li>
* <li>Load html_header.php (this is a common template file)</li>
* <li>Load main_template_vars.php (this is a common template file)</li>
* <li>Load on_load scripts (page based and site wide)</li>
* <li>Load tpl_main_page.php (this is a common template file)</li>
* <li>Load application_bottom.php</li>
* </ul>
*
* @package general
* @copyright Copyright 2003-2005 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: index.php 2942 2006-02-02 04:41:23Z drbyte $
*/
/**
* Load common library stuff
*/
require('includes/application_top.php');
$language_page_directory = DIR_WS_LANGUAGES . $_SESSION['language'] . '/';
$directory_array = $template->get_template_part($code_page_directory, '/^header_php/');
Se metto un echo subito prima della riga require, mi viene eseguito, subito dopo no.
Quindi, visto questo sono andato a vedere il file application_top.php che inizia così:
<?php
/** prevent hack attempts which waste CPU cycles */
if((isset($_GET['main_page']) && stristr($_GET['main_page'], 'http')) || isset($_GET['autoLoadConfig']) ) {
header('HTTP/1.1 406 Not Acceptable');
exit(0);
}
Qui se metto un echo anche subito dopo <?php è come se non ci fosse.
Gli stessi file che ho usato in questo caso per l'installazione, sono gli stessi che ho usato anche sul server e quindi non è sicuramente un problema dei sorgenti ma qualcosa legato all'interprete php (secondo me almeno). :confused:
Se qualche guru riesce a spiegarmi il fatto gli sarei molto grato.
Grazie.
Ciao.