PHP: Problemas con la libreria CURL en Mac OSX

He estado implemtando algunas funciones con curl desde PHP, pero misteriosamente dejo de funcionar la libreria CURL y PHP me lanzaba el siguiente error:

PHP Fatal error: Call to undefined function curl_init()

Entonces lo más seguro es que la libreria curl no este instalada, pero revisando el phpinfo(); si aparece la referencia para cargar curl.so

Additional .ini files parsed /opt/local/var/db/php5/calendar.ini, /opt/local/var/db/php5/curl.ini, /opt/local/var/db/php5/ftp.ini, /opt/local/var/db/php5/gd.ini, /opt/local/var/db/php5/http.ini, /opt/local/var/db/php5/iconv.ini, /opt/local/var/db/php5/imap.ini, /opt/local/var/db/php5/mbstring.ini, /opt/local/var/db/php5/mcrypt.ini, /opt/local/var/db/php5/memcache.ini, /opt/local/var/db/php5/mssql.ini, /opt/local/var/db/php5/mysql.ini, /opt/local/var/db/php5/openssl.ini, /opt/local/var/db/php5/pcntl.ini, /opt/local/var/db/php5/soap.ini, /opt/local/var/db/php5/sockets.ini, /opt/local/var/db/php5/xdebug.ini, /opt/local/var/db/php5/xsl.ini, /opt/local/var/db/php5/zip.ini

Pero más abajo donde esta la información de los modulos pues nada de nada!, entonces opte por reinstalar la libreria.

Primero actualizo el repositorio del port (aca una guía para instalar port en tu Mac)

sudo port selfupdate

Y despues ya la instalación de la liberia php5-curl

sudo port install php5-curl

Reinicio el apache:

sh /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart

Y nada de nada!, el mismo error, entonces pues a ver los logs de apache para ver que esta sucediendo con el mentado modulo!.. ,y oooh sorpresa, error de dependencias, entonces a buscarlas., y resulta que tengo una versión más nueva de la que me esta solicitando PHP.

Aca el log de apache2: cat /opt/local/apache2/logs/error_log

Warning: PHP Startup: Unable to load dynamic library ‘/opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so’ – dlopen(/opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so, 9): Library not loaded: /opt/local/lib/libssl.0.9.8.dylib
Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so
Reason: image not found in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library ‘/opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so’ – dlopen(/opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so, 9): Library not loaded: /opt/local/lib/libcrypto.0.9.8.dylib
Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so
Reason: image not found in Unknown on line 0

De hecho varias liberias (http.so, ftp.so, openssl.so, imap.so) que necesitan libssl marcaban el mismo error y pues a crear los enlaces simbolicos.

cd /opt/local/lib/
ln -s libssl.dylib libssl.0.9.8.dylib
ln -s libcrypto.dylib libcrypto.0.9.8.dylib

Reiniciamos Apache y listo!!.., todo arreglado!. =)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *