Potenziale debolezza di php, memory limit

July 27, 2007

Casualmente mi sono imbattuto nel dover variare l’impostazione di memory limit su un server di cui non avevo il minimo accesso.
Solitamente infatti sono abituato a sviluppare su server Linux sui quali ho anche poteri di amministratore, in questo caso trattandosi di un hosting su server di un altro provider mi sono imbattuto nel dover aumentare memory_limit per poter far funzionare il noto CRM Sugar Force.

La variabile presente nel php.ini denominata memory_limit ha il compito di limitare il consumo di memoria massimo per uno script php in modo tale da evitare potenziali problemi al server web stesso in caso di cattiva gestione dello script o per qualche loop.
Per default tale valore è impostato ad 8 Mbyte, valore secondo me più che ragionevole.

In pratica Sugar Force richiede la bellezza di 32 Mbyte di memoria (se non erro) per poter funzionare.

Fatto sta che il provider in questione (giustamente) aveva l’impostazione di memory limit globale settata a 8 Mbyte e non funzionava una mazza…

Dubbioso sul poter realmente variare tale impostazione sono andato sul sito di php e nell’appendix ho scoperto quello che MAI mi sarei aspettato:

memory_limit “8M” PHP_INI_ALL

PHP_INI_ALL per intenderci indica che il valore è variabile da QUALUNQUE script php! Nemmeno come PHP_INI_PERDIR che indica invece che il valore è variabile o per directory da configurazione generale di apache o da .htaccess (se consentito Override da apache).

Insomma, nel caso specifico mi è anche andata bene perché ho potuto comodamente caricare in .htaccess “php_value memory_limit 64M” per poter far funzionare il CRM  però questa cosa per me ha aperto un forte dubbio su tale scelta fatta dagli sviluppatori di php e in particolare dalla Zend.

Fortunatamente la soluzione è abbastanza facile, è infatti sufficiente disabilitare l’Override di apache ([per altro impostazione di default] non rendendo effettive le direttive di .htaccess che vengono quindi ignorate) e disattivando da php.ini la possibilità di utilizzare la funzione ini_set().

Però per un provider che eroga hosting per chiunque acquista uno spazio web (magari a prezzi stracciati) diventa limitativo e restrittivo.
Penso che un approccio diverso da parte della Zend e degli sviluppatori di php in merito a tale configurazione sarebbe più opportuno… almeno per le nuove versioni e configurazioni di default.

Ciao. Maxgrante
info[AT]massimo-caselli[DOT]com

Offerta lancio server virtuali di Coresis (sconto aggiuntivo per contatti da blog)

Coresis da sempre impegnata nel mondo Open Source e in particolare su Linux ha il piacere di annunciare che è pronto il servizio di VPS (Virtual Private Server).

Tale offerta si colloca a metà strada tra il classico hosting shared e l’housing su macchina fisicamente dedicata.

E’ possibile acquistare il servizio in modalità personalizzata stabilendo quota disco dedicata, RAM, processori.
E’ altresì possibile poter scegliere di avere l’amministrazione sistemistica della macchina o per chi ha competenze tecniche è possibile acquistare la semplice installazione base del servizio e poi gestirsi in autonomia la manutenzione del server.

Sebbene Coresis prediliga l’utilizzo di Linux essendo macchine virtuali e S.O. indipendenti a tutti gli effetti Coresis propone anche VPS su Windows Server.

Fino al 30 giugno 2007 è previsto uno sconto del 20% sui prezzi di listino.
Lo sconto è permanente anche sui successivi rinnovi degli anni successivi.

Per i clienti che dovessero arrivare dal blog è previsto uno sconto aggiuntivo del 5% sempre esteso anche agli anni successivi.

Per informazioni:
Coresis S.r.l.
Telefono: 039/6080810
Email: webmanagement@coresis.com
Ciao. Maxgrante
info[AT]massimo-caselli[DOT]com

Le 50 più utili risorse per Webdesigner e Webdeveloper

Rimando a questo interessante articolo che raggruppa i links alle più importanti (secondo loro) risorse per sviluppatori e webdesigner

http://101out.com/js_design.php

Ciao. Maxgrante
info[AT]massimo-caselli[DOT]com

Cos’è eZPA

eZPA è quello che noi riteniamo essere il primo progetto italiano per la realizzazione di un portale aperto per la pubblica amministrazione locale di medie/piccole dimensioni.

E’ nato dallo sforzo congiunto di [nizan] Soluzioni Open Source e il Comune di Ozzano dell’Emilia che, credendo nelle possibiltà del modello di sviluppo dell’Open Source, ha investito tempo e denaro nella sua realizzazione.

Utilizza il Framework di sviluppo eZ publish, realizzato in php dal team di sviluppo di eZ systems riscrivendone in toto la parte dei templates di visualizzazione per ottenere la conformità con lo standard XHTML 1.0 Strict e, con opportuni accorgimenti in fase di implementazione, la compatibilità con la legge 4/2004 (Stanca), la legislazione italiana in merito alla fruibilità dei siti Internet da parte delle person con diverse abilità.
A oggi, eZPA è arrivato alla versione 2 (vedi la demo).

E’ stato recentemente implementato il sito del progetto dal quale è possibile scaricare una versione di sviluppo da testare, per chiunqe volesse contribuire alla sua crescita.