cómo instalar php-solr-client en aws beanstalk con pecl

he instalado un servidor beanstalk en amazon aws. También tengo una instancia diferente que ejecuta el servidor SOLR.

en mis scripts php uso este módulo: http://php.net/manual/en/solrclient.adddocument.php para consultar la base de datos SOLR.

para instalarlo en beanstalk, inicio sesión en su instancia ec2 (usuario ec2). este módulo usa pecl

en el shell ec2:

sudo pecl install -n solr

una vez hecho esto, pecl agregará extension = solr.so a php.ini

desde este punto, cuando ejecuto scripts php recibo:

PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/solr.so' - /usr/lib/php/modules/solr.so: undefined symbol: curl_easy_getinfo in Unknown on line 0

Encontré algunas otras publicaciones sobre este problema, pero la mayoría se rindió o dio soluciones incompletas o poco claras.

preguntado el 31 de diciembre de 12 a las 16:12

¿Qué tal enumerar el otro específico? duplicados de candidatos y por qué sus soluciones no funcionaron para usted? El mensaje de error es bastante claro: algo en sus bibliotecas curl está roto o falta. -

¿Pecl agregó la línea a php.ini o se supone que debe hacerlo? -

Charles: debido a que las otras publicaciones no resolvieron el error, ¿por qué seguiríamos los enlaces muertos? Además, no faltaba nada... -

toby - pecl agrega una línea a php.ini, que era parte del problema, pero no lo sabía en ese momento... -

2 Respuestas

cómo instalar el cliente php solr en aws beanstalk - (este cliente php - http://php.net/manual/en/solrclient.construct.php)

  1. suponiendo que tiene un servidor beanstalk en funcionamiento
    • inicie sesión en la instancia ec2 creada por beanstalk
  2. sudo pecl install -n solr -> (agregue /usr/lib como una carpeta de ubicación cuando se le solicite xmlcurl,libcur durante la instalación a través de pecl)
  3. elimine “extension=solr.so” de php.ini -> (que se encuentra en root/etc)
  4. agregue el archivo "solr.ini" con una línea = (coloque en root/etc/php.d)
  5. sudo /etc/init.d/httpd reiniciar -> reiniciar el servidor
    • asegúrese de que los puertos del servidor solr 8443: 8983 estén abiertos para beanstalk.
  6. beneficio.
  7. ahora que esto se está ejecutando, si está ejecutando esto para conectarse al servidor solr 4.0, notará que no funcionará correctamente (commit -> waitflush arg se eliminó en 4.0 pero aún existe en el cliente)
  8. sin beneficio para mi...

Respondido el 07 de enero de 13 a las 06:01

La respuesta de Yaron no funcionó para mí.

Sin embargo, el siguiente lo hizo.

simplemente agregué

extension=curl.so
extension=json.so
extension=solr.so

al final de php.ini y funcionó sin ningún problema.

Nota: estoy usando php 5.5.12

Respondido el 11 de junio de 14 a las 14:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.