【问题标题】:how to instal php-solr-client on aws beanstalk with pecl如何使用 pecl 在 aws beanstalk 上安装 php-solr-client
【发布时间】:2012-12-15 17:34:55
【问题描述】:

我在亚马逊 AWS 上安装了一个 beanstalk 服务器。我也有一个不同的实例运行 SOLR 服务器。

在我的 php 脚本中,我使用这个模块:http://php.net/manual/en/solrclient.adddocument.php 查询 SOLR 数据库。

要在 beanstalk 上安装它,我登录到它的 ec2 实例 (ec2-user)。 这个模块使用 pecl

在 ec2 外壳中:

sudo pecl install -n solr

完成后,pecl 会将extension = solr.so 添加到 php.ini

从这一点开始,当我运行 php 脚本时,我会收到:

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

我发现了一些关于这个问题的其他帖子,但大多数都放弃了或给出了不完整/不清楚的解决方案。

【问题讨论】:

  • 列出具体的其他candidate duplicates 怎么样?为什么他们的解决方案不适合您?错误消息非常清楚 - 您的 curl 库中的某些内容已损坏或丢失。
  • pecl 是否将该行添加到 php.ini 中,还是应该添加?
  • Charles - 因为其他帖子没有解决错误,我们为什么要跟踪死链接...,也没有任何遗漏...
  • toby - pecl 确实在 php.ini 中添加了一行,这是问题的一部分,但我当时不知道...

标签: php solr amazon-ec2 amazon-elastic-beanstalk


【解决方案1】:

如何在 aws beanstalk 上安装 solr php 客户端 - (这个 php 客户端 - http://php.net/manual/en/solrclient.construct.php)

  1. 假设您已启动并运行 beanstalk 服务器
    • 登录beantalk创建的ec2实例
  2. sudo pecl install -n solr ->(在提示输入 xmlcurl 时添加 /usr/lib 作为位置文件夹,在通过 pecl 安装时添加 libcur)
  3. 从 php.ini 中删除“extension=solr.so” ->(在 root/etc 中找到)
  4. 用一行添加文件“solr.ini”=(放入root/etc/php.d)
  5. sudo /etc/init.d/httpd restart -> 重启服务器
    • 确保 solr 服务器端口 8443 : 8983 对 beanstalk 开放。
  6. 利润。
  7. 现在它正在运行,如果您正在运行它以连接到 solr 4.0 服务器,您会注意到它无法正常工作(commit -> waitflush arg 在 4.0 中已删除,但仍存在于客户端上)
  8. 对我来说没有利润...

【讨论】:

    【解决方案2】:

    Yaron 的回复对我不起作用。

    但是下面的做了。

    我只是添加了

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

    在 php.ini 的末尾 并且没有任何问题。

    注意: 我正在使用 php 5.5.12

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2021-01-07
      • 2015-04-03
      • 2016-12-08
      • 1970-01-01
      相关资源
      最近更新 更多