Vi sarà già capitato, provando ad installare la nuova versione di CakePHP, di ottenere come risultato delle schermate bianche, e quindi di non riuscire a far funzionare il nostro Framework preferito! Oggi vi presenterò la mia soluzione, alquanto blanda ma spesso efficace :)
Prima di tutto è necessario modificare i file .htaccess riportando la direttiva RewriteBase, strettaente necessaria qui su altervista. Vi sono tre file .htaccess da modificare, rispettivamente locati nella root di CakePHP, nella cartella /app/ e nella cartella /app/webroot. Riporto qui sotto i file modificati, essenzialmente ho solamente aggiunto la direttiva RewriteBase.
/.htaccess
Codice:
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
/app/.htaccess
Codice:
RewriteEngine on
RewriteBase /app
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
/app/webroot/.htaccess
Codice:
RewriteEngine On
RewriteBase /app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Successivamente navigate nella cartella lib/Cake/Model/Datasource/CakeSession.php e ricercate questa porzione di codice, nella funzione _configureSession() attorno alla riga 480.
Codice PHP:
if (empty($_SESSION)) {
if (!empty($sessionConfig['ini']) && is_array($sessionConfig['ini'])) {
foreach ($sessionConfig['ini'] as $setting => $value) {
if (ini_set($setting, $value) === false) {
throw new CakeSessionException(sprintf(
__d('cake_dev', 'Unable to configure the session, setting %s failed.'),
$setting
));
}
}
}
}
A questo punto procedete commentando le righe di codice, ottenendo il seguente risultato:
Codice PHP:
/*
if (empty($_SESSION)) {
if (!empty($sessionConfig['ini']) && is_array($sessionConfig['ini'])) {
foreach ($sessionConfig['ini'] as $setting => $value) {
if (ini_set($setting, $value) === false) {
throw new CakeSessionException(sprintf(
__d('cake_dev', 'Unable to configure the session, setting %s failed.'),
$setting
));
}
}
}
}
*/
Il problema che nel mio caso, e spero anche nel vostro, ha reso inutilizzabile il framework è dovuto al fatto che la funzione ini_set su altervista è si disponibile, ma limitata negli argomenti dei parametri. Temporaneamente mi è sembrata una buona soluzione, ad ogni modo ho aperto un ticket sul progetto CakePHP sperando che la mia segnalazione venga accolta. Ad ogni modo se avete problemi anche voi commentate sulla pagina del mio blog di riferimento e vedremo di risolvere insieme. :)
Articolo e Commenti sul mio Blog
Altri tutorials by Matt93