Problemi con l'installazione del modulo PECL sphinx di PHP
Domanda
Ho installato i binari e le librerie Sphinx e ora sto provando a installare il modulo Sphinx PECL.
Il mio sistema esegue OS X 10.6 con MAMP 1.8.2 installato.Provo a installare Sphinx utilizzando il seguente comando:
sudo pecl install sphinx
Il comando PECL restituisce quanto segue:
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Le versioni sopra riportate non corrispondono alle versioni elencate durante l'esecuzione di a phpinfo()
.Sembra che PECL stia cercando di conformarsi alla versione integrata di PHP.
Se ignoro gli errori e continuo, verrà compilato e inserito con successo il file sphinx.so
archiviare in:
/usr/lib/php/extensions/no-debug-non-zts-20090626/sphinx.so
quando in realtà dovrebbe essere:
/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/
Ho provato a copiare il file sphinx.so nella directory delle estensioni MAMP ma quando riavvio Apache PHP visualizza il seguente avviso:
PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/sphinx.so
Penso che ciò sia dovuto al fatto che MAMP è a 32 bit e il PHP integrato è a 64 bit, quindi PECL è conforme a 64 bit.Potrei sbagliarmi completamente, ma l'ho letto quando ho guardato l'argomento.
Qualcuno sa come fare in modo che PECL venga mappato sulla versione MAMP di PHP anziché sulla versione integrata?
Soluzione
Se la "corretto" La versione di PHP è installata in qualcosa di simile /Applications/MAMP/bin/php5/
, e ha gli strumenti di sviluppo inclusi, dovresti avere una versione di pecl
comando per seguirlo, alcuni accanto a quella directory.
Se è così, eseguilo pecl
comando che corrisponde al tuo "corretto" versione di PHP dovrebbe aiutare:eseguirà il corretto versione di phpize
, e consentirà la compilazione dell'estensione rispetto a (ancora una volta) corretto versione di PHP.
Devi solo sperare che MAMP includa quei comandi -- Non posso verificare perché non ho un Mac.