Categories
php webdev

Ottimizzare symfony su DreamHost

twitornot: symfony on dreamhost optimization Qualche giorno fa, come esperimento personale, ho aggiornato (grazie all’aiuto di Federico per il layout), TwitOrNot. Di per sè l’applicazione è abbastanza banale, ma l’esercizio è stato fatto per testare alcune idee che da qualche tempo mi giravano per il cervello.

Innanzitutto, TwitOrNot migra dalla versione 1.1 alla 1.2.x di symfony, nel suo piccolo implementa l’autenticazione oAuth di Twitter non salvando in locale le password ma gestendo tutto tramite le API di quest’ultimo. Altra miglioria è stata la sostituzione, indolore visto l’esiguo numero di tabelle, di Propel con Doctrine, usando per quest’ultimo gli script di migrazione per gestire future implementazioni.

La cosa su cui però mi sono divertito di più è stata l’ottimizzazione dell’applicazione per l’utilizzo su un hosting come DreamHost utilizzando ySlow come calibro del mio lavoro.

Utilizzando lo script di analisi di Yahoo!, l’applicazione, nuda e cruda, presentava un bel D (a volte E) come risultato. Successivamente portato, tramite tweak del file di default .htaccess di symfony ad un onestissimo B (a volte C).

Vediamo in dettaglio i passaggi fatti.

Categories
php webdev

ModRewrite e WordPress, un piccolo plugin

Ultimamente, facendo un paio di migrazioni di blog fatti con WordPress (e non) per clienti mi sono ritrovato con lo spigoloso problema dell’integrità delle url con la nuova struttura del blog. Il problema è stato per la maggior parte delle volte risolto con un alias sul server, dove non è stato possibile però ho dovuto aggiornare le Rewrite Rules generate da WordPress 2.x.

Il difetto di sovrascrivere le Rewrite Rules a mano è che al primo aggiornamento del blog engine le modifiche vengono perse. Ecco quindi che mi si è illuminata la classica lampadina di archimede ed ho scritto uno stupidissimo plugin che si aggancia agli hook delle funzioni che generano il file .htaccess aggiungendogli le regole che mi servono.

Vediamo come funziona il plugin.

Categories
tecnologia webdev

Leggere gli HEADER HTTP con Telnet

Casomani dovete studiarvi un protocollo che usa gli HEADER HTTP il modo migliore per visualizzare le risposte di un server è quello di usare una shell ed un client telnet.

Il funzionamento è banale, prima di tutto facciamo aprire una sessione telnet sul server che ospita il sito/applicazione

fullo@tartar# telnet miohost.com 80

a questo punto in sessione iniziamo a fare un GET dell’url ReST che ci interessa, specificando il protocollo da usare ed indichiamo l’host di riferimento seguito da un doppio invio.

Categories
linux sysadmin

Apache e creazione dei file

Se vi capita di usare php per generare file e dovete far in modo che questi ultimi siano modificabili non solo dall’utente apache ma anche dagli altri utenti appartenent al suo stesso gruppo dovrete aprire /etc/init.d/httpd (o /etc/init.d/apache) ed inserire subito prima all’invocazione dell’eseguibile la seguente stringa: umask 002.

Riavviate apache e provate a creare un file con php, il permesso settato dovrebbe essere adesso 664 invece che 644, per modificare i permessi dando ad esempio la lettura/scrittura a tutti (666) il valore di umask sarà invece 000.

Categories
php

PHP e server

Se sviluppate con php applicazioni che girano su piattaforme e server differenti questo cheatsheet farà al caso vostro.

Della cosa se ne parla approfonditamente anche sul blog di SitePoint.

ciuaz