Installare WP-Cache senza accesso shell

La scoperta dell’acqua calda

Symlink per WP-Cache 2.0

Un plugin per WordPress a mio avviso indispensabile, vista la non eccelsa performance di questa piattaforma, è WP-Cache 2.0. Questo arcinoto plugin, diminuendo le richieste al database ed alleggerendo di conseguenza (e di molto) il carico di lavoro del server che ospita la vostra installazione di WordPress, è in grado di accelerare drammaticamente la velocità con cui vengono servite le pagine del vostro blog.

Per farlo funzionare è però necessario creare un link simbolico che rimandi dal file di WordPress wp-content/advanced-cache.php a quello di WP-Cache wp-content/plugins/wp-cache/wp-cache-phase1.php, operazione non alla portata di tutti, visto che richiede un accesso alla shell del server od un minimo di conoscenza del linguaggio PHP, che dispone dell’apposita funzione symlink().

Nessun problema per chi non disponesse di questi prerequisiti, a patto che il server non giri sotto Windows: sarà sufficiente copiare il seguente codice, incollarlo in un file chiamato symlink.php, sostituirvi /path-to-wordpress/ con il percorso della cartella in cui è installato WordPress, caricarlo sul server e puntarvi il browser (...tuoblog.com/symlink.php).

<?php 
$makelink = symlink( 
	'/path-to-wordpress/wp-content/plugins/wp-cache/wp-cache-phase1.php', 
	'/path-to-wordpress/wp-content/advanced-cache.php' 
); 

if ($makelink) echo "Il symlink per WP-Cache è stato creato."; 
else echo "Impossibile creare il symlink per WP-Cache."; 
?>
 

Et voilà! Avete creato il vostro link simbolico. È ora possibile (nonché raccomandato) cancellare il file symlink.php.

E se volessi disinstallarlo?

Per rimuovere il link simbolico sarà sufficiente l’operazione inversa alla precedente, da effettuarsi mediante il codice sottostante.

<?php 
$link = '/path-to-wordpress/wp-content/advanced-cache.php'; 
if (is_link($link)) { 
	unlink($link); 
} else { 
	exit ('Il file prescelto non è un link simbolico.'); 

?>

 

I più pigri possono scaricare (e rinominare) i due file sottostanti.

 

Symlink per WP-Cache 2.0 · UnSymlink per WP-Cache 2.0

Postilla: WP-Cache, errori 404 ed header 200 OK

Una volta installato WP-Cache provate ad aprire una pagina inesistente del vostro blog, in modo da procurare un errore 404 (Pagina non trovata).
Controllate gli header HTTP della pagina di errore: il codice di stato potrebbe essere 200 OK anziché 404. Al momento non ho trovato soluzioni migliori del disattivare e riattivare ad minchiam i vari plugin installati finché gli header non tornino a funzionare correttamente.

il Gambero Rotto

Commenti

  1. Gravatar di Bruno Bruno:

    Ho provato a seguire il tuo consiglio ma il file advanced-cache.php non esiste ne nella root ne nella cartella wp-content, ho provato a vedere se c'era nella cartella compressa di wordpress che ho scaricato per installato ma anche nei file d'installazione di wp 2.2.2 non c'è. Dove posso trovare il file o come posso fare ad aggirare l'ostacolo?
    Grazie Bruno :-)

    # 1 · Commento pubblicato il 3 novembre 2007 alle 20:39 · Torna al post ↩
  2. Gravatar di il Gambero Rotto il Gambero Rotto:

    Ciao Bruno, il file /wp-content/advanced-cache.php, pur essendo necessario al funzionamento del plugin, non esiste in nessuna distribuzione di WordPress o WP-Cache: non è altro che il link simbolico creato dall’operazione che ho descritto (o dal comando shell ln -s wp-cache/wp-cache-phase1.php advanced-cache.php). Se l’operazione va a buon fine troverai il file (di 0 bytes) nella cartella /wp-content/ del tuo spazio web. Sempre che il server non sia una macchina Windows, nel qual caso non riuscirai a creare il link.

    Vedo però che esiste una versione (beta) modificata di WP-Cache che non necessita della creazione di un link simbolico (e che pare riesca anche a comprimere le pagine in formato gzip): la trovi alla pagina «WP-Cache NoSymlink Now with gzip».

    Buona domenica!

    # 2 · Commento pubblicato il 4 novembre 2007 alle 08:37 · Torna al post ↩
  3. Gravatar di Bruno Bruno:

    Grazie per il chiarimento, purtroppo sono al mio primo blog e sono imbranato. Ho seguito il tuo consiglio e ho installato WP-Cache-NoSymlink, l'ho attivato e nelle opzioni non mi appare più l'errore che non si riusciva a trovare il link quindi dovrebbe funzionare a dovere.
    Grazie di nuovo, Bruno :-)

    # 3 · Commento pubblicato il 5 novembre 2007 alle 19:29 · Torna al post ↩
  4. Gravatar di il Gambero Rotto il Gambero Rotto:

    Ciao Bruno, ho dato un’occhiata al tuo blog (ben fatto, complimenti), ma nel codice delle pagine non trovo il commento inserito da WP-Cache, <!-- Cached page served by WP-Cache -->. Questo significa che il caching delle pagine non funziona, anche se non compaiono messaggi d’errore. Il perché non è facile da indovinare: WP-Cache è un plugin dal comportamento spesso misterioso, capace di far perdere la pazienza a più d’uno.

    Posso giusto suggerirti di controllare un paio di cose:

    1. Ti sei ricordato di inserire define('WP_CACHE', true); nel file wp-config.php (prima della riga require_once(ABSPATH.'wp-settings.php');)?

    2. Hai cambiato i permessi di scrittura (CHMOD 0777) della cartella /wp-content/cache/?

    In bocca al lupo!

    # 4 · Commento pubblicato il 6 novembre 2007 alle 14:28 · Torna al post ↩
  5. Gravatar di Bruno Bruno:

    Grazie per il complimento, piano piano lo vorrei migliorare ma pultroppo sono un neofita e sto applicando quello che leggo sulle varie guide cercando di migliorare le pecche che ci sono. Ho controllato quanto consigliato in effetti avevo scritto define(’ENABLE_CACHE’, true); come visto su un forum wordpress (spiegava come abilitare la cache che c'è nella versione 2.1), ho modificato la riga, la dicitura è stata aggiunta subito dopo le varie "define" che ci sono, quindi prima di require_once...
    la cartella cache ha i requisiti 777 quindi abilitato in scrittura e lettura, però come mi hai spiegato neanche io vedo nel codice della homepage la scritta Chached page e le page cached rimane a 0, però ho un dubbio, in Expire time è inserito 3600 secondi, non è che devo attendere 1 ora per vedere la scritta? E poi volevo chiedere: quando scrivo degli articoli poi mi capita di salvare e andare a controllare come si vede o correggere degli errori, quando faccio queste operazioni devo disabilitare la cache?
    Ti auguro una buona serata, Bruno.

    # 5 · Commento pubblicato il 6 novembre 2007 alle 21:07 · Torna al post ↩
  6. Gravatar di il Gambero Rotto il Gambero Rotto:

    Ciao Bruno! Per chiarire il tuo dubbio: un “expire time” di 3600 secondi significa che la copia cache di una pagina avrà una validità di un’ora dal momento del suo salvataggio, trascorsa la quale (ad una nuova richiesta) ne verrà generata e servita on the fly una versione aggiornata.

    Il fatto che non compaia il commento significa che WP-Cache non funziona a dovere (come conferma il pannello di controllo, che riporta “0 cached pages”). Puoi anche dare un’occhiata al contenuto della cartella /wp-content/cache/.

    Disabilitare la cache è inutile (oltre ad essere poco pratico): il cosiddetto “Browser super-reload“ (Ctrl+F5) dovrebbe essere sufficiente a visualizzare la versione più aggiornata di una pagina. Per andare sul sicuro aggiungi preview=true alla lista delle stringhe che identificano gli URLs da non memorizzare nella cache (di default ci trovi wp), e le anteprime delle tue bozze saranno sempre aggiornate.

    Ti consiglio però di ripassare di qui nei prossimi giorni, visto che ho trovato una valida alternativa a WP-Cache; la sto testando e conto di parlarne a breve. Ciao!

    # 6 · Commento pubblicato il 7 novembre 2007 alle 07:55 · Torna al post ↩
  7. Gravatar di Bruno Bruno:

    Ciao Gambero Rotto, mi dispiace che per colpa mia ti sia stressato, ho seguito scrupolosamente le tue indicazione buttando nel cestino dell'immondizia quel cesso di wp cache e ho installato Blog Cacher 2.0 e finalmente sono riuscito a far funzionare la cache, ho creato la cartella con le proprietà 777 della root e ho copiato i file come specificato nel readme, adesso la scritta in fondo alla pagina del codice html c'è e i file in cache pure. Pensavo di esssere io che ero troppo stupido per poterlo installare ma vedo che è proprio rognoso di suo, forse, ma dico forse (anche se ormai non ce ne frega niente) può essere che risenta del tipo di php del server (php4 o php5) e del tipo di database mysql4 o 5, io ho php5 e mysql5.Comunque adesso uso blog cacher, per quello che devo fare va più che bene.Ti ringrazio per l'aiuto che mi hai dato, ti verrò a fare visita spesso per vedere le ultime novità .
    Ciao e grazie di nuovo :-)

    # 7 · Commento pubblicato il 9 novembre 2007 alle 20:55 · Torna al post ↩
  8. Gravatar di il Gambero Rotto il Gambero Rotto:

    Ciao Bruno, nessuno stress, non temere. Lieto anzi di esserti stato di qualche aiuto. A risentirci!

    # 8 · Commento pubblicato il 12 novembre 2007 alle 11:09 · Torna al post ↩
  9. Gravatar di Rosario Rosario:

    Ciao,
    anche io ho bisogno di questo plugin, ma non riesco a scaricarlo, ti prego di aiutarmi perche sono in difficolta'
    allora
    io ho installato il plugin, l'ho attivato,poi sono andato nell opzioni alla ricerca del plugin una volta trovato ci clicco sopra e mi esce questo:
    http://www.freedomtech.it/wp-content/uploads/imgg.jpg

    inoltre io ho creato quel file symlink.php ma dove lo devo caricare?
    ti prego aiutami non riesco proprio ad andare avanti! spiegami passo passo! grazie

    # 9 · Commento pubblicato il 2 aprile 2008 alle 18:59 · Torna al post ↩
  10. Gravatar di il Gambero Rotto il Gambero Rotto:

    Ciao Rosario,

    puoi caricare dove vuoi il file symlink.php: basta che tu lo possa aprire via browser. Se lo carichi nella cartella root del tuo blog basterà aprire l’indirizzo w w w.tuoblog.it/symlink.php per creare il link simbolico necessario al funzionamento di WP-Cache. Il messaggio d’errore dovrebbe scomparire.

    Controlla inoltre la correttezza del percorso nel filesystem

    $makelink = symlink(  
    	'/www/...PERCORSO COMPLETO.../wp-content/plugins/wp-cache/wp-cache-phase1.php',  
    	'/www/...PERCORSO COMPLETO.../wp-content/advanced-cache.php'  
    );  
     
    if ($makelink) echo "Il symlink per WP-Cache è stato creato.";  
    
    else echo "Impossibile creare il symlink per WP-Cache.";  

    Fammi sapere!

    # 10 · Commento pubblicato il 3 aprile 2008 alle 08:24 · Torna al post ↩
  11. Gravatar di rosario rosario:

    ciao,
    grazie di avermi risposto,
    ho controllato il file symlink.php e l'ho caricato sul blog prima della cartella wp-content.
    dopo scrivendo sulla barra del broswer ho provato a collegarmi alll indirizzo www.mioblog.it\symlink.php e mi dice questo
    "Impossibile creare il symlink per WP-Cache."
    aprendo con il blocco note il file symlink.php mi sono accorto che ci sono 2 percorsi:
    '/www/...PERCORSOCOMPLETO.../wp-content/plugins/wp-cache/wp-cache-phase1.php',
    '/www/...PERCORSO COMPLETO.../wp-content/advanced-cache.php'
    ho notato che se seguo il primo percorso nel programma di ftp il file wp-cache-phase1.php esiste
    metre il secondo percorso quello cioe' che porta al file advanced-cache.php non esiste, lo devo creare io? puo essere questo l'errore che mi impedisce di utilizzare il plugin? ti ringrazio dell aiuto! cia ciao

    # 11 · Commento pubblicato il 3 aprile 2008 alle 11:27 · Torna al post ↩
  12. Gravatar di il Gambero Rotto il Gambero Rotto:

    Ciao Rosario!

    Un link simbolico è un tipo di file che non fa altro che rimandare ad un altro. Non è un genere di file che si possa creare con un editor di testo e caricare via FTP: va creato col comando shell ln -sv $target $link visualizzato nel messaggio di errore di cui nel tuo screenshot, oppure con un comando PHP, come nel file symlink.php.

    La funzione symlink($target, $link) dovrebbe appunto creare un rimando $link al file $target.

    Quando questo non succede, come nel tuo caso, di solito è per uno dei seguenti motivi:

    1. Il server gira sotto Windows (ma non sembra il tuo caso)
    2. Il link simbolico esiste già (ma non sembra il tuo caso)
    3. I percorsi non sono corretti
    4. Non disponi di permessi sufficienti (strano, io l’ho creato anche in safe_mode)
    5. Qualcosa non torna a livello di diritti proprietà utente e/o gruppo sui file e cartelle

    Altro non mi viene davvero in mente…

    Dovessi continuare a sbatterci la testa, ti consiglio di rivolgerti all’amministratore del server.
    Ti rimando inoltre al secondo commento a questo post, con tanto di link ad una versione di WP-Cache modificata per fare a meno del famigerato link simbolico.

    Il mio spassionatissimo consiglio è però quello di scordarti di WP-Cache ed installare 1 Blog Cacher, di cui non posso che dir bene e che non necessita di troppi artifizi per funzionare a dovere.

    In bocca al lupo!

    # 12 · Commento pubblicato il 3 aprile 2008 alle 12:21 · Torna al post ↩
  13. Gravatar di rosario rosario:

    quindi non fa niente che questo fili advanced-cache.php nella cartella wp-content non esiste? non puo incidere sull errore?
    questo software 1 Blog Cacher e buono come wp-cache? ha le stesse funzionalità? ti ringrazio per l'aiuto.

    # 13 · Commento pubblicato il 3 aprile 2008 alle 16:43 · Torna al post ↩
  14. Gravatar di Rosario Rosario:

    ciao, senti perche non mi fai una cortesia? hai msn? possiamo parlarci li'io ho proprio bisogno di questo plugin....help!

    # 14 · Commento pubblicato il 3 aprile 2008 alle 21:01 · Torna al post ↩
  15. Gravatar di il Gambero Rotto il Gambero Rotto:

    Forse non mi sono spiegato bene: l’errore è appunto dovuto al fatto che lo script symlink.php non riesce a creare il link simbolico advanced-cache.php (che altrimenti vedresti come un file di 0 bytes nella cartella /wp-content), per uno dei motivi cui ho già accennato.

    Visto che non riesci a crearlo, hai due soluzioni possibili:

    1. Farlo creare per te da qualcuno che abbia accesso all’amministrazione del server
    2. Smettere di sbatterci la testa ed installare un altro plugin per il caching delle pagine, che non abbia bisogno di un link simbolico per funzionare: WP-Cache NoSymlink, oppure 1 Blog Cacher

     

    1 Blog Cacher è ad avviso mio e di Bruno, l’autore dei commenti precedenti ai tuoi (che ti invito a leggere con attenzione, perché ha avuto gli stessi tuoi problemi), decisamente migliore di WP-Cache. Perché? Ne parlo diffusamente qui.

    Non uso MSN o altri programmi di instant messaging, ho paura che le “fans” non mi diano pace. Come puoi constatare, rispondo volentieri ai commenti. Mai però all’ora dell’aperitivo ;-)

    # 15 · Commento pubblicato il 4 aprile 2008 alle 08:38 · Torna al post ↩

Lascia un commento

I tuoi dati.

Hai già lasciato un commento e non riesci ancora a leggerlo?
Prova a ricaricare la pagina premendo Ctrl+F5.

Trackbacks & pingbacks

  1. [...] Sito wpcache: http://mnm.uib.es/gallir/wp-cache-2 Via: http://www.nothing2hide.net/wp-plugins/aumentare-le-prestazioni-di-wordpress-con-wp-cache Via: http://gamberorotto.com/tech/installare-wp-cache-senza-shell/ [...]

    Questo pingback, assolutamente non gradito, è stato editato per rimuovere il link al sito di provenienza, Technorati.it, campione italiano di copia-incolla.

    Pingback by Velocizza wordpress con wpcache : technorati.it
    Ricevuto il 18 gennaio 2008 alle 19:31


Naviga nel Gambero Rotto