2

我在亚马逊 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

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

4

2 回答 2

1

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

  1. 假设您已启动并运行 beanstalk 服务器
    • 登录到由 beanstalk 创建的 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. 对我来说没有利润...
于 2013-01-01T09:38:41.023 回答
0

Yaron 的回复对我没用。

然而,下面做了。

我只是添加了

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

php.ini结束时 ,它没有任何问题。

注意:我使用的是 php 5.5.12

于 2014-06-11T13:33:02.343 回答