PorteAperteSulWeb / pasw2015

Tema WordPress PASW2015 di "Porte Aperte sul Web". Bello, accessibile e innovativo
http://www.porteapertesulweb.it
GNU General Public License v3.0
14 stars 21 forks source link

Non funziona in locale su Mac con MAMP #186

Open Panopticoncept opened 7 years ago

Panopticoncept commented 7 years ago

Ho seguito correttamente le istruzioni di installazione tuttavia, anche se PASW2015 è presente tra i temi da attivare, quando lo si attiva la pagina del browser diventa completamente bianca.

Ho provato a installarne una copia in remoto su un sottodominio del mio sito ed è successa la stessa cosa ma con il vantaggio che qui è apparsa la scritta "Non hai il permesso di accedere a questa pagina". Così, tramite il client FTP, ho esteso i permessi di scrittura a tutti i file all'interno della directory PASW2015 e sono finalmente riuscito a vedere il tema.

Ma in locale, ripeto, la cosa non mi riesce e non capisco perché il tema si comporti così.

Se avete voglia di darmi una risposta ve ne sarò grato.

Grazie in anticipo per la collaborazione, V.


EDIT Ho scoperto una cosa che forse può interessare gli sviluppatori. Se si carica la cartella pasw2015 il locale (parlo di un sistema iOS 10.12 e server virtuale MAMP) e si aggiunge all'inizio del nome un qualsiasi segno (io p. es. ho aggiunto una @, così @pasw2015), il tema funzionerà correttamente. Nella bacheca apparirà il messaggio che consiglia di correggere il nome della directory ma almeno il tema funziona e può essere personalizzato.

manuelcoppotelli commented 7 years ago

Apri il file wp-config.php

scorri fino alla riga 82

e modifica define('WP_DEBUG', false);

in define('WP_DEBUG', true);

In questo modo dovresti avere una descrizione dell'errore

Panopticoncept commented 7 years ago

Ecco la descrizione dell'errore.

`Notice: Array to string conversion in /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/vendor/Parsedown.php on line 894

Notice: Undefined property: Parsedown::$Array in /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/vendor/Parsedown.php on line 894

Fatal error: Uncaught Error: Function name must be a string in /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/vendor/Parsedown.php:894 Stack trace: #0 /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/vendor/Parsedown.php(931): Parsedown->element(Array)

1 /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/vendor/Parsedown.php(257): Parsedown->elements(Array)

2 /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/vendor/Parsedown.php(48): Parsedown->lines(Array)

3 /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/src/GitHub_Updater/GitHub_API.php(128): Parsedown->text('Per la lista co...')

4 /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/src/GitHub_Updater/Theme.php(82): Fragen\GitHub_Updater\GitHub_API->get_remote_changes('CHANGELOG.md')

5 /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/src/GitHub_Updater/Base.php(125): Fragen\GitHub_Updater\Theme->__construct()

6 /Applications/MAMP/htdocs/wp4/wp-includes/plugin.php in /Applications/MAMP/htdocs/wp4/wp-content/themes/pasw2015/github/vendor/Parsedown.php on line 894`

Cosa significa? Nell'EDIT del mio precedente commento ho scritto una cosa che forse può essere significativa.

manuelcoppotelli commented 7 years ago

Si tratta di un errore già noto; deriva dal fatto che MAMP utilizza di default PHP7.

Trovi maggiori dettagli e una possibile soluzione (in attesa di un aggiornamento ufficiale) nella Issue #147

Panopticoncept commented 7 years ago

Ok, grazie per la risposta.

In ogni caso, come mai basta semplicemente rinominare la cartella/directory (come spiego nell'EDIT del mio primo commento) e PASW2015 funziona, anche se MAMP di default utilizza PHP7?

manuelcoppotelli commented 7 years ago

In ogni caso, come mai basta semplicemente rinominare la cartella/directory (come spiego nell'EDIT del mio primo commento) e PASW2015 funziona, anche se MAMP di default utilizza PHP7?

Perché il plugin github-updater cerca specificatamente la cartella chiamata pasw2015, se c'è prova ad "entrare in azione"; ma non essendo aggiornato restituisce errore. Al contrario, se non trova la cartella, non entra in azione non provocando nessun errore.

manuelcoppotelli commented 7 years ago

Ad ogni modo ho mandato la Pull request #187 che risolve questo errore ed altri; appena gli sviluppatori la approveranno, il tema non avrà questi errori

Panopticoncept commented 7 years ago

Perché il plugin github-updater cerca specificatamente la cartella chiamata pasw2015, se c'è prova ad "entrare in azione"; ma non essendo aggiornato restituisce errore. Al contrario, se non trova la cartella, non entra in azione non provocando nessun errore.

Quindi, se il server (locale o remoto che sia) utilizza PHP 7, PASSW2015 non funziona.

Però, se ho capito bene, si potrebbe semplicemente disabilitare il github-updater per farlo funzionare correttamente. È così?

Se invece non ho capito (probabilità non certo remota), mi limiterò ad attendedere la soluzione proposta dagli sviluppatori.

Intanto, sinceramente grazie per avermi dedicato del tempo e per avermi indicato la strada verso possibili soluzioni.

Cordiali saluti, V.

manuelcoppotelli commented 7 years ago

Però, se ho capito bene, si potrebbe semplicemente disabilitare il github-updater per farlo funzionare correttamente. È così?

Esattamente, il tema funzionerebbe; l'unica cosa a non funzionare sarebbe (ovviamente) l'aggiornamento automatico

Per disabilitare github-updater commenta la riga 5 del file functions.php

Saluti

cghellere commented 7 years ago

So che a suo tempo @milesimarco aveva provato ad aggiornare il plugin di github integrato nel codice di pasw ma si eran riscontrati altri problemi e si stava valutando se era il caso o meno di estrarre quella parte di codice e far installare il plugin in modo separato. Grazie per la segnalazione

Panopticoncept commented 7 years ago

Gentilissimi @manuelcoppotelli e @cghellere, non vorrei insistere perché non sono né un esperto di WP (a parte qualche qualche installazione di prova in locale non ne so molto) né di PASW2015 (che sto prendendo in considerazione per motivi di riprogettazione del sito scolastico) né, soprattutto, sono uno sviluppatore che può parlare con cognizione di causa di codici di programmazione, PHP e altro.

Tuttavia so dirvi soltanto che quando nell'istallazione in remoto il sistema mi ha restituito il problema dei permessi e quindi ho li estesi a tutti i file della cartella PASW2015, tutto ha funzionato a dovere. E non so il perché.

Il problema, invece, permane a livello di installazione in locale, dove però con MAMP non riesco a fare la stessa operazione di estensione dei permessi a cartella e file per verificare se tutto funzionerebbe come in remoto.

Ora, se voi dite che dipende dal gitHub-updater, io la prendo per buona e attenderò fiducioso che le cose siano messe a posto.

Intanto vi rinnovo il mio grazie per l'assistenza e per i consigli.

Un saluto, V.

manuelcoppotelli commented 7 years ago

@Panopticoncept, utilizzo Mac e MAMP in locale e non ho mai modificato i permessi in alcun modo; al contrario apportando la modifica che ti ho suggerito poco sopra (commenta la riga 5 del file functions.php) il tema funziona perfettamente.

A conferma di ciò la descrizione dell'errore che hai incollato sopra si riferisce chiaramente a github-updater.

Come ulteriore prova c'è la Issue #147 (che riporta lo stesso errore che si verifica da te in locale) nella quale i nostri carissimi @cghellere e @milesimarco confermano si tratti di un errore dovuto a github-update.

Per il tuo server remoto il problema potrebbe essere dipeso da una causa diversa; potresti iniziare col dirci innanzitutto quale versione di php è installata sul tuo server remoto;

Dalla mie esperienze passate posso dirti che, se il tuo server è ospitato da A**\ (Isola caraibica) la faccenda dei permessi è una questione molto comune che si verifica abitualmente ad ogni nuova installazione o aggiornamento di wordpress.

Panopticoncept commented 7 years ago

Sì, avevo letto la Issue #147.

Sul mio server remoto, ospitato da un'azienda NON caraibica ma da una di quelle che forniscono hosting economico e funzionante, è installata la versione PHP 5.4.45.

manuelcoppotelli commented 7 years ago

Sul mio server remoto [...] è installata la versione PHP 5.4.45.

Questo conferma che la causa del problema che hai riscontrato/riscontri in locale è differente dalla causa del problema sul server remoto