Archivio

Posts Tagged ‘Mac’

Installiamo php 5.2.10 su Snow Leopard

14 settembre 2009 50 commenti

Eh si! Con Snow Leopard viene fornito a corredo il php 5.3 cioè l’ultima versione disponibile. Il problema è che php 5.3 apporta delle modifiche sostanziali a linguaggio ed elimina alcune funzioni, che poi da diversi anni si chiedeva di non usare più dichiarandole “Deprecated”, che di fatto impediscono il funzionamento di alcuni dei software open-source più comuni fra cui zen-cart, magento, joomla etc. Poiché sono uno sviluppatore che opera principalmente con questi software era per me impossibile mantenere il php 5.3 quindi piano piano sono riuscito a compilare il php 5.2.10 e farlo funzionare con Snow Leopard.

Riporto di seguito la procedura così come l’ho eseguita, è piuttosto lunga e un pò snervante e richiede un minimo di dimestichezza con la shell Unix. Alla fine otterrete una versione di php piuttosto completa, volendo potete aggiungere o togliere le estensioni, e completamente stand-alone che funziona a 64 bit correttamente con web server apache installato di default con Snow Leopard.

Installate prima di tutto mysql prelevando l’ultima versione dal sito www.mysql.com, ovviamente prendete quella per 10.5 x86_64

Prepariamo le directory necessarie:

sudo mkdir /usr/local/php5.2
mkdir ~/src
cd src

installare prima le librerie necessarie in /usr/local/php5.2/

installazione t1lib

curl -O ftp://sunsite.unc.edu/pub/linux/libs/graphics/t1lib-5.1.2.tar.gz
tar xzf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/
make without_doc
sudo make install
cd ..

installazione lib jpeg

curl -O http://www.ijg.org/files/jpegsrc.v7.tar.gz
tar -xzf jpegsrc.v7.tar.gz
cd jpeg-7/
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/
make
sudo make install
cd ..

installazione lib png

Scaricatela da http://www.libpng.org/pub/png/libpng.html e mettela dentro ~/src curl non funziona con sourceforge

tar -xzf libpng-1.2.40.tar.gz
cd libpng-1.2.40
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/
sudo make install
cd .

installazione libmcrypt

scaricatela da http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download e mettela dentro ~/src curl non funziona con sourceforge

tar -xzf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/
make
sudo make install
cd ..

installazione libxml2

curl -O ftp://xmlsoft.org/libxml2/libxml2-2.7.4.tar.gz
tar -xzf libxml2-2.7.4.tar.gz
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/
make
sudo make install
cd ..

installazione gettext

curl -O http://gd.tuwien.ac.at/gnu/gnusrc/gettext/gettext-0.17.tar.gz
tar -xzf gettext-0.17.tar.gz
cd gettext-0.17
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/
make
sudo make install
cd ..

installazione di curl e lib curl

curl -O http://curl.haxx.se/download/curl-7.19.6.tar.gz
tar -xzf curl-7.19.6.tar.gz
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/
make
sudo make install
cd ..

e finalmente prendiamo php

curl -O http://uk.php.net/distributions/php-5.2.10.tar.bz2
tar xfz php-5.2.10.tar.bz2
cd php-5.2.10

in questa versione di php cè un piccolo errore in un file che va corretto prima di tutto altrimenti non si compila un bel niente

aprite con un editor di testo (io ho usato xcode) il file

~/src/php-5.2.10/ext/iconv/iconv.c

alle riga 196, 197, e 198 trovate

#ifdef HAVE_LIBICONV
#define iconv libiconv
#endif

correggete con

#ifdef HAVE_LIBICONV
#define iconv iconv
#endif

prepariamo il configure

CFLAGS="-arch x86_64 -I/usr/local/php5.2/include/" LDFLAGS="-L/usr/local/php5.2/include/" ./configure --prefix=/usr/local/php5.2 --disable-dependency-tracking --with-apxs2=/usr/sbin/apxs --with-config-file-scan-dir=/usr/local/php5.2/php.d --with-openssl=/usr --with-zlib=/usr --with-zlib-dir=/usr -with-xpm-dir=/usr --with-gd --with-ldap --with-xmlrpc --enable-exif --enable-soap --enable-sqlite-utf8 --enable-wddx --enable-ftp --enable-sockets --with-bz2=/usr --enable-zip --enable-pcntl --enable-shmop --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-mbstring --enable-bcmath --with-libxml-dir=/usr/local/php5.2 --with-xsl=/usr/local/php5.2 --with-gettext=/usr/local/php5.2 --with-png-dir=/usr/local/php5.2 --with-jpeg-dir=/usr/local/php5.2 --enable-gd-native-ttf --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mcrypt=/usr/local/php5.2 --with-iconv --disable-xmlreader --with-t1lib=/usr/local/php5.2 --with-curl=/usr/local/php5.2

ok c’è un altro bug

aprite sempre con xcode

~/src/php-5.2.10/Makefile

il Makefile appena generato, cercate

EXTRA_LIBS =

seguito da una serie di opzioni, aggiungete per prima

-lresolv

salvate e chiudete, compiliamo!

make

bene il php è compilato ora facciamo il backup del php di snow leopard altrimenti viene sovrascritto

sudo mv /usr/libexec/apache2/libphp5.so /usr/libexec/apache2/libphp5.so.snow_leopard
sudo make install

spostiamo modulo appena generato e ripristiniamo il php di snow leopard (opzionale)

sudo mv /usr/libexec/apache2/libphp5.so /usr/local/php5.2/libphp5.so
sudo cp /usr/libexec/apache2/libphp5.so.snow_leopard /usr/libexec/apache2/libphp5.so

Modifichiamo il file

/etc/apache/httpd.conf

commentando la riga

#LoadModule php5_module libexec/apache2/libphp5.so

e aggiungendo la riga

LoadModule php5_module local/php5.2/libphp5.so

Riavviamo apache

sudo apachectl restart

Ok ora avete il vostro php 5.2.10 funzionante potete tranquillamente continuare a sviluppare in attesa della prossima compatibilità de vari software. Bella fatica eh! io sono impazzito 2 giorni pieni pieni, sperò che possa essere d’aiuto a qualcun altro. Se seguite questa guida e qualcosa non vi torna o semplicemente riuscite lasciatemi un commento, sarò felice di aiutarvi o di esservi stato d’aiuto.

Ciao

Snow Leopard e i problemi con Apache Php mySQL

9 settembre 2009 7 commenti

Mac OS X 10.6Come tutti i mac user incalliti ho subito installato Snow Leopard, anzi ho approfittato del nuovo os per sostituire il disco rigido da 120 gb in dotazione al mio macbook pro con un più performante e capiente Seagate Momentus 320Gb 7200 rpm.  Ho quindi prima aggiornato a Snow Leopard circa 50 minuti, poi ho fatto un bel backup con Time Machines, ho montato il nuovo disco, ho installato Snow Leopard sul nuovo disco circa 30 minuti ed infine ho ripristinato il backup. Risultato dell’operazione che si è svolta in circa 4 ore totali, il mac con il disco nuovo identico spiccicato al vecchio, almeno alla prima impressione. Ad un controllo più approfondito non proprio tutto funzionava correttamente, il db mySQL non è ripartito e il web server Apache da uno strano errore sui permessi.

Ok diciamo subito che non è nulla di grave state tranquilli. Semplicemente Time Machines non copia o non ripristina alcune cose come ad esempio i link simbolici nella cartella /usr/local oppure non li ripristina.

Il problema mySQL è semplicissimo, lo startupitem fa riferimento alla cartella /usr/loc/mysql che tuttavia è un link simbolico alla cartella /usr/local/mysql-5.1.32-osx10.5-x86_64 o più generalmente alla cartella mysql-versione-piattaforma che avete installato. Per far ripartire mysql aprite i terminale e date

cd /usr/local
ls
sudo ln -s  mysql-5.1.32-osx10.5-x86_64 mysql

Sostituite con la vostra cartella di mysql il mio mysql-5.1.32-osx10.5-x86_64 il comando ls vi ha fatto vedere come si chiama.

Passiamo ad Apache, il problema nel mio caso è banale. Snow Leopard aggiorna apache e php (php 5.3.0) e Time Michines ripristina il file /etc/apache2/httpd.conf ma non il file /etc/apache2/extra/vhost.conf che quindi non è più quello modificato da me ma quello di default di Apache. Risultato Apache punta ad un virtualhost inesistente e quindi errore di permessi.  Nel mio caso è stato sufficiente modificare il file di vhost e ricreare i virtualhost iniziali per far funzionare tutto di nuovo. Bisogna anche attivare il modulo php5 togliendo il commento # dalla riga apposita.

Php presenta un problema nella direttiva Default timezone che non è impostata tuttavia ho notato che nel mio caso in /etc non era presente il file php.ini ma semplicemente un php.ini.default che ovviamente non viene riconosciuto come ini file. Questo credo perché il php non è attivo di default. Quindi se non avete il php.ini in /etc

sudo cp /etc/php.ini.default /etc/php.ini
sudo chmod +w/etc/php.ini
sudo vi /etc/php.ini  (se non sapete usare vi usate un altro editor di testo)

specificate nella direttiva Default timezone del php.ini Europe/Rome.

Riavviate Apache.

sudo apacectl restart

Problema risolto ora il mio mac è proprio come prima, il vostro?

Ciao

Gli amici di facebook sul Mac

1 luglio 2009 Nessun commento

AddressBookSync IconL’idea era quella di avere sulla rubrica dell’ iPhone le foto degli amici su facebook. Per far ciò esistono diverse applicazioni sul AppStore più o meno belle ma con un comune denominatore, il prezzo! Cacchio nessuna di queste è gratis! Allora ho cercato qualcosa che sincronizzasse la rubrica del Mac con gli amici di facebook, poiché poi le modifiche si sarebbero sincronizzate sull’ iPhone e indovinate un pò ?

La soluzione è: AddressBookSync liberamente scaricabile da: http://danauclair.com/addressbooksync/

Questa simpatica ed utile applicazione fa proprio quello che ci server e cioè sincronizza in modo automatico e manuale i contatti della rubrica del mac con gli amici di facebook. Le informazioni sincronizzate sono:

  • la foto del profilo
  • l’indirizzo attuale
  • la data di compleanno

Le altre informazioni, come numeri di telefono o email, non possono essere sincronizzate perché il regolamento di facebook non lo permette.

La sincronizzazione avviene in modalità automatica, l’applicazione trova automaticamente le coincidenze fra contatto in rubrica e amico su facebook  ed imposta la sincronizzazione dei tre elementi dando una immediata anteprima. È sempre possibile, contatto per contatto, stabilire quale dei tre elementi sincronizzare. È possibile anche ridimensionare e ritagliare la foto del profilo per adattarla meglio all’icona della rubrica. Si può inoltre stabilire o correggere manualmente le coincidenze fra contatto e amico.

Semplice, immediata e funzionale, questo è tutto quello che occorre da un’utility per essere utile e AddressBookSync ha sicuramente tutti e tre i requisiti.

Ciao

Screenshoot AddressBookSync

Screenshoot AddressBookSync

Safari 4, una bella salsa di funzionalità!

25 febbraio 2009 Nessun commento

Ieri pomeriggio, un pò a sorpresa Apple ha rilasciato una beta pubblica di Safari 4, il browser web dei Mac disponibile anche per windows. La nuova versione introduce numerose “novità” almeno per safari ma di certo non novità in senso assoluto. In ogni caso anche se scopiazzate qua la Apple ha comunque riorganizzato il tutto in perfetto stile mac e il browser ne ha giovato parecchio.

La prima novità è top sites, una nuova schermata iniziale che mostra le anteprime delle pagine più visitate per accedervi più agevolmente. La funzionalità era già presente in opera e chrome alla apple hanno solo aggiunto tridimensionalità e riflessi. Bella!

Safari 4 - top sites

Safari 4 - top sites

Nuove funzionalità avanzate di ricerca nella cronologia e suggerimenti a gogo. Inoltre è possibile sfogliare la cronologia con cover flow, la nota modalità con cui si sfogliano le copertine dei dischi i iTunes. Niente di eccezionale ma comunque una sempre maggiore integrazione con il resto del sistema. Nuova disposizione delle Tab sulla barra del titolo in alto, molto più logica e funzionale così come palesemente copiata dal browser di Google.

Tecnicamente il browser è migliorato moltissimo, adotta un nuovo e performante motore javascript che secondo la Apple lo rende il browser più veloce al mondo. Dai primi test che ho fatto devo dire che la velocità di rendering delle pagine è notevole e l’impressione è davvero che il browser sia una scheggia. Inoltre la sempre più amplia aderenza agli standard fa si che il browser superi con pieni voti anche il test acid 3 e poco importa se sia il primo o meno l’importante è che lo fa!

Safari 4 - test acid 3

Safari 4 - test acid 3

Alla prossima, ciao.

E tutto cambiò!!!

24 gennaio 2009 Nessun commento

Il 24 gennaio 1984 il mondo è cambiato. Apple presenta il Macintosh, che con  7,5 kg di peso e caratteristiche tecniche probabilmente inferiori a quelle di un rasoio elettrico moderno,  introduceva un nuovo modo di usare il computer, introduceva la metafora della scrivania, le icone i font il mouse. Da quel giorno il mondo è cambiato, noi siamo cambiati…Tanti auguri Macintosh e grazie…

Categorie:Computer Tag: , ,

DockDrop, semplicemente geniale!

7 marzo 2008 Nessun commento

Quella che presento oggi è un’ utility di quelle che mi fanno impazzire. In perfetto stile Mac semplice e efficace si chiama DockDrop e permette di uplodare un file su internet in 4 modi differenti con un semplice drag and drop. E’ sufficiente infatti spostare il file da trasferire sull’icona e scegliere la modalità di trasferimento.

DockDrop

Alla fine del trasferimento DockDrop copia nella clipboard l’url del file appena caricato. Molto utile quando si voglio caricare immagini nei forum che non supportano gli allegati. Le modalita di trasferimento supportate sono:

  • FTP
  • WebDAV
  • SCP
  • Flickr

Ovviamente se usate una sola modalità di trasferimento, questo si avvierà automaticamente con quella modalità saltando il passaggio della scelta. Immediato direi. Il mio parere? comoda, comoda e ancora comoda.

Grazie a melablog per la segnalazione.

Ciao

Categorie:Computer, Foto, Lavoro Tag: ,

DiffMerge utility utile!

19 febbraio 2008 Nessun commento

Piccolo post dedicato a tutti gli sviluppatori web e non solo, ieri mentre combattevo con l’aggiornamento di Zen-Cart ho avuto la necessità di comparare i file del mio template con quelli del template default per vedere se erano stati apposrtati cambiamenti alle form.  Cosi mi sono messo alla ricerca di una utility che per comparare i file di testo  e dopo alcuni software a pagamento che non mi soddisfacevano del tutto ho infine trovato DiffMerge.

DiffMerge screenshot

I vantaggi del programma sono:

  • la comparazione e la modifica di due file
  • la comparazione e la modifica di tre file
  • la comparazione dei file contenuti in due cartelle
  • compatibile con 42 charset
  • completamente cross-platform con identiche funzionalità per Win Mac e Linux
  • Gratis!!!

La cosa inoltre che mi ha fatto letteralmente sbavare è la possibilità tramite uno shell-script, fonito col programma, di lanciare la comparazione dei file direttamente da Adobe Dreamweaver, basta nelle preserenze di dreamweaver impostare come programma di comparazione lo shell-script.

Potete scaricare e provare DiffMerge dal sito del produttore www.sourcegear.com

Categorie:Computer, Lavoro Tag: ,