Articoli, news e pillole sul mondo LAMP e l'opensource. Pillole di C#
Post con tag PHP il turbo nel web
Installazione IonCube Loader su Zend Server CE in Windows
27 Oct
Semplice guida per installare IonCube Loader su Zend Server CE in Windows, l’how to standard non funziona:
1) Scaricare pacchetto e scompattare sul desktop (versione NON TS):
http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_win_nonts_x86.zip
2) Copiare il file
ioncube_loader_win_5.2.dll in:
C:\Programmi\Zend\ZendServer\lib\phpext
3) Aprire il file con editor testuale:
C:\Programmi\Zend\ZendServer\etc\php.ini
Sopra la riga:
zend_extension=”C:\Programmi\Zend\ZendServer\lib\ZendExtensionManager.dll”
Inserire queste due righe:
zend_extension=”C:\Programmi\Zend\ZendServer\lib\phpext\ioncube_loader_win_5.2.dll”
zend_extension_ts=”C:\Programmi\Zend\ZendServer\lib\phpext\ioncube_loader_win_5.2.dll”
Salvare e riavviare apache.
Verificare in phpinfo() se l’estensione viene caricata correttamente.
How to installazione mssql su Zend Server CE su linux con freetds
26 Jun
Di seguito alcuni semplici passaggi per installare su Zend Server CE installato su linux l’estensione mssql, freetds, per poter utilizzare un server MSSQL da php su macchina Linux.
Per prima cosa, installiamo freetds:
yum install freetds
Dopo procediamo a installare l’estensione mssql di ZS che non fornita di default:
yum install php-mssql-zend-ce
L’estensione sar attivata da sola. Meglio comunque riavviare lo zend server.
Andare all’interno di /etc/freetds.conf
Mettere:
# Myserver
[mysqlserver]
host = 192.168.X.X
port = 1433
tds version = 8.0
A questo punto per connettersi da php utilizzare:
mssql_connect(“192.168.X.X”, “login”, “pwd”) or die (“Failed”);
E il gioco fatto.
Transazioni con Zend Framework
26 Mar
Recentemente avendo sviluppato nelle ore serali un progetto web ( www.animalhelp-spb.com ) per supportare e cercare di far trovare casa a cani e gatti randagi russi, ho deciso di realizzarlo iniziando a farmi le ossa con Zend Framework.
Premetto che devo ancora dettagliare ed approfondire la conoscenza di questo strumento, in particolare nell’utilizzo secondo la logica MVC (model – viewer – controller), per l’ho trovato molto interessante, in particolare per la gestione delle transazioni.
In sostanza prima di tutto istanzio la classe corretta parametrizzando gli accessi al database:
$dbparams = array(‘host’ => DB_HOST, ‘username’ => DB_USER, ‘password’ => DB_PWD, ‘dbname’ => DB_NAME);
$db = new Zend_Db_Adapter_Mysqli($dbparams);
$db->setFetchMode(Zend_Db::FETCH_OBJ);
Successivamente apro la transazione:
$db->beginTransaction();
try
{
…. query 1 ….
…. query 2 ….
$db->commit();
}
catch (Exception $e)
{
$db->rollBack();
….
}
In sostanza nel caso vi sia un errore all’interno della transazione viene automaticamente rollbackato secondo una modalit simile a quella usata da adodb “Smart Transaction”.
Soluzione problemi codifica caratteri in MySQL/PHP
28 Jan
Buongiorno a tutti,
innanzitutto cominciamo ad inquadrare il problema e a fare presente che se ora sono in grado di scrivere questo articolo grazie al supporto che ho ricevuto sul forum di HTML.IT da parte di Leandro Luccerini, per contatti: leandro980[AT]libero[DOT]it
PREMESSE AL PROBLEMA
DESCRIZIONE PROBLEMA
La situazione problematica nasce nel momento in cui abbiamo un sito web che deve gestire caratteri extra latini, per esempio nel mio caso ho affrontato questo problema dovendo realizzare un sito in lingua russa, ovvero utilizzando il cirillico.
Il mio approccio alla situazione e’ stato quello di realizzare TUTTE le pagine web con codifica utf8 e database, tabelle e campi di testo utf8 a loro volta.
La cosa che mi ha fatto impazzire e capirci veramente poco per diverso tempo e’ che se io inserivo nel database caratteri cirillici come ad esempio (Привет – ciao) e da PhpMyADMIN (di seguito PMA) vedevo male, idem il dump, mentre quando tiravo su i dati da applicativo tutto funzionava a meraviglia.
Capitava l’inverso con PMA, ovvero se inserivo in cirillico su PMA e visualizzavo da PMA tutto bene, via applicazione niente.
SOLUZIONE
Prima di tutto vi invito a leggervi questa parte di manualistica online di mysql, CHARSET.
Sostanzialmente sui server mysql di sistemi di hosting italiani (ma credo anche americani) e comunque in generale, l’impostazione del default_character_set impostata a latin1.
Ma anche qualora sia impostata ad utf8 quando via script php ci connettiamo al database mysql la nostra sessione di default (nonostante la pagina sia encodata utf8) sar attivata con character set latin1, cosa succede quindi, che i dati e le query che inviamo sfasano e il sistema memorizza erroneamente i dati.
Di fatto il comportamento giusto lo ha PMA, dobbiamo cercare quindi di emularlo.
Per farlo basta di fatto lanciare dopo ogni connessione la seguente query: SET NAMES utf8
Cos facendo la connessione tra client e server sar UTF8.
CONCLUSIONE
Per concludere possiamo dire che per siti che trattano lingua standard europee come italiano, inglese, francese etc… possiamo avere tutto il DB latin1, connessione client server latin1 ed encoding ISO-8859-1
Nel caso di siti con cirillico, arabo etc… utilizziamo tutto il database UTF8, encoding delle pagine UTF8 e soprattutto dobbiamo eseguire per sicurezza la query sopra indicata dopo ogni connessione con mysql.
Mi scuso per non essere stato molto chiaro in alcuni punti, purtroppo questo argomento complesso e fastidioso…
Se avete suggerimenti sono benvenuti.
Ciao a tutti. Max
info[AT]massimo-caselli[DOT]com