Tag: PHP

  • Convertire gli Short Tag PHP in Tag Completi ricorsivamente

    Chi usa PHP si sarà spesso imbattutto nella diatriba Short Open Tag si o no (da <? a <?PHP), spesso trovandosi a combattere con codice di programmazione scritto da altri e con la difficoltà nel poterlo utilizzare.
    Per chi non lo sapesse, si sta parlando dei tag di apertura e chiusura di un codice scritto in linguaggio PHP, racchiuso quindi tra <?php?>, gli short tag sono la forma abbreviata, indicata con <??>, ed il cui utilizzo è sconsigliato poichè per il corretto funzionamento è necessario che la direttiva short_open_tag sia esplicitamente abilitata.

    Può così capitare che vi sia la necessità, per una migrazione di server, un aggiornamento di PHP, o solo per comodità, praticità e leggibilità che si voglia passare un codice da short tag in full tag, compito noioso e tedioso se fatto manualmente, ecco quindi un rapido metodo su come convertire facilmente in modo ricorsivo tutti gli short tag. Per farlo vi basterà usare la bash e scrivere a riga di comando questa serie di comandi con l’espressione regolare (regex) appropriata:

    find . -name "*.php" -print0 | xargs -0 perl -pi -e 's/<\?(?!php|=|xml|mso| )/<\?php /g'

    oppure nel qual caso vi sia uno spazio dopo il <? potrete usare la seguente serie di comandi:

    find . -name "*.php" -print0 | xargs -0 perl -pi -e 's/<\? /<\?php /g'

    A questo punto avrete i vostri file pronti per l’utilizzo.

  • Installare il Loader ionCube su Linux (Debian e Ubuntu)

    Avete dei file codificati con l’ionCube Encoder e per utilizzarlo vi necessità l’ionCube Free Loaders? Ecco come installarlo su Linux, che sia Debian o Ubuntu come distribuzione (per le altre cambierà il passo 4, relativamente alla posizione del file php.ini).

    1. Scaricare il file di ionCube Free Loaders relativo all’architettura utilizzata. Nel caso si usi una 32 bit basta digitare in una finestra di terminale:

      wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

      mentre se si usa un sistema 64 bit bisognerà digitare sempre nella finestra del terminale:

      wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

    2. Scompattare il file scaricato scrivendo sempre nella finestra di terminale, nel caso di un sistema 32 bit:

      tar zxvf ioncube_loaders_lin_x86.tar.gz

      mentre nel caso di un sistema 64 bit:

      tar zxvf ioncube_loaders_lin_x86-64.tar.gz

    3. Spostare i file relativi a ionCube sotto /usr/local digitando il comando:
    4. mv ioncube /usr/local/

    5. Modificare il file /etc/php5/apache2/php.ini, mediante un qualsiasi editor come vi, pico, nano, gedit o quello che più vi aggrada, aggiungendo la riga:

      zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so

    6. A questo punto tutto quello che vi resta da fare è riavviare Apache mediante il comando:

      /etc/init.d/apache2 restart

    Questo è tutto! Buona installazione!