• vBulletin 3.6 e i server di nuova generazione

    Chi ha mai provato a aggiornare il server, avrà notato che vBulletin delle vecchie generazioni (precedenti alla versione 3.8.5) non gira su PHP 5.3.x. In questa piccola guida spieghiamo come fare, e quindi poter riutilizzare vecchie licenze sui sistemi nuovi.


    Il primo passo consiste nello scaricamento di tutti i file PHP dal sito del forum attuale in una cartella temporanea. Poiché non è possibile impostare un filtro sulle estensioni da scaricare, si scarica nella regola tutto, e poi si eliminano i file che non hanno l'estensione .php.

    Quest'ultima operazione si effettua efficientemente con la ricerca dei file: *.*, e l'ordinamento del tipo di file, dove poi si eliminano tutti i tipi di file diversi da PHP e facendo attenzione di non eliminare le cartelle

    Con PSPad o un altro applicativo che consente caricare tutti i file come progetto, si includono poi tutti i file in una struttura manipolabile in blocco.

    Si procede alla sostituzione di:
    Codice: [Visualizza]
    error_reporting(E_ALL & ~E_NOTICE);
    con:
    Codice: [Visualizza]
    error_reporting(E_ALL & ~E_NOTICE & ~8192);
    e di:
    Codice: [Visualizza]
    =& new
    con:
    Codice: [Visualizza]
    = new
    globalmente, senza conferma.

    Poi si reinviano tutti i file PHP modificati, impostando il filtro di sovrasscrittura per i file di dimensione diversa. Avendo fatto la sostituzione globale, quasi tutti i file sono cambiati di dimensione.

    E così, magicamente sono scomparsi gli errori Deprecated e il forum torna a nuovo splendore!
    Commenti 4 Commenti
    1. L'avatar di y2ksw
      y2ksw -
      La versione più piccola convertita proprio questi giorni è la 3.5.1 e funziona perfettamente
    1. L'avatar di y2ksw
      y2ksw -
      In Linux si eseguono i seguenti due comandi nella cartella in cui si trovano gli script (normalmente nella cartella upload):

      Codice:
      find . -name "*.php" -print | xargs sed -i 's/error_reporting(E_ALL \& ~E_NOTICE);/error_reporting(E_ALL \& ~E_NOTICE \& ~8192);/g'
      find . -name "*.php" -print | xargs sed -i 's/=\& new/= new/g'
    1. L'avatar di y2ksw
      y2ksw -
      Per la rimozione dei file, tranne per gli script php, si esegue poi:
      Codice:
      find . -name "*" -print | grep -v .php | xargs rm
    1. L'avatar di y2ksw
      y2ksw -
      Ah sì, ovviamente, in Linux è possibile eseguire la sostituzione (non seguito dalla cancellazione dei file!!!) anche direttamente nell'ambiente di produzione