Facendo l’aggiornamento da Zend server 5.6.0 al nuovo fiammante 6.0.0 con PHP 5.3.21 mi sono accorto spiacevolmente che il supporto a Phar non era più attivo. Vado quindi sul pannello a cercare questa ormai indispensabile estensione (leggi: come posso vivere senza composer e idephix?) e non la trovo!
Cerca e spulcia sul web ma del supporto non c’è traccia. Mentre per Linux si può scaricare il pacchetto, per Mac OS X si può solo compilare ex-novo e quindi…
Si scarica il sorgente di PHP 5.3.21 e si compila l’estensione
cd
tar xjf path/dove/lo/hai/scaricato/php-5.3.21.tar.bz2
cd php-5.3.21/ext/phar
phpize
MACOSX_DEPLOYMENT_TARGET=10.8 CFLAGS="-mmacosx-version-min=10.8 -arch x86_64" LDFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" ./configure
make
tar xjf path/dove/lo/hai/scaricato/php-5.3.21.tar.bz2
cd php-5.3.21/ext/phar
phpize
MACOSX_DEPLOYMENT_TARGET=10.8 CFLAGS="-mmacosx-version-min=10.8 -arch x86_64" LDFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" ./configure
make
Si copia nella directory corretta
sudo cp modules/phar.so /usr/local/zend/lib/php_extensions/
La si aggiunge in php.ini tra le altre estensioni oppure:
sudo echo 'extension="phar.so"' >>/usr/local/zend/etc/php.ini
Ed ora…
$ php -i|grep Phar
Phar
Phar: PHP Archive support => enabled
Phar EXT version => 2.0.1
Phar API version => 1.1.1
Phar-based phar archives => enabled
Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Phar
Phar: PHP Archive support => enabled
Phar EXT version => 2.0.1
Phar API version => 1.1.1
Phar-based phar archives => enabled
Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Una volta che sai come fare è veramente facile, per fortuna che me solo segnato per la prossima volta 😀
Buon php-coding