Phar extension for Zend Server CE on MacOsX 10.6.7


Normalemente per installare un’estensione si usa:
/usr/local/zend/bin/pecl install phar
putruppo il risultato non è quello sperato:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/zend/lib/php_extensions/phar.so' - dlopen(/usr/local/zend/lib/php_extensions/phar.so, 9): no suitable image found. Did find:
/usr/local/zend/lib/php_extensions/phar.so: mach-o, but wrong architecture in Unknown on line 0

A questo punto bisogna fare la cosa a mano :

  1. si disinstalla l’estensione buggata
    /usr/local/zend/bin/pecl uninstall phar
  2. si segue la seguente procedura (da root ovviamente usando sudo)
    tar xzf phar-2.0.0.tgz
    cd phar-2.0.0
    /usr/local/zend/bin/phpize
    ./configure --with-php-config=/usr/local/zend/bin/php-config MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS="-arch i386 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch i386 -g -Os -pipe" CXXFLAGS="-arch i386 -g -Os -pipe" LDFLAGS="-arch i386 -bind_at_load"
    make
    make install

Ora basta andare nel pannello di amministrazione di ZendServerCE e nella sezione delle estensioni abilitare quella di PHAR.
Se avete problemi nelle pagine php, controllate che nelle direttive dell’estensione (sempre pannello di amministrazione) “phar.readonly” non sia messa a true, altrimenti non potrete creare/modificare dei phar e “phar.require_hash” sia a false per una maggior compatibilità con i phar in circolazione.