在PHP中使用Solr
我正在尝试将solr与php结合使用。我已经配置了solr应用程序,它运行良好。但是,我无法使用php与solr通信。我尝试了许多扩展:peclsolr、solrppc客户端和Solarium。然而,没有人能够ping我的solr服务器。所有这些,而我的solr服务器在localhost:8080/solr上可用。我用tomcat在windows上运行它。(我一直在检查我的tomcat和solr服务,当通过php ping时,它们已经启动并运行了) 我想我在这里犯了一些非常基本的错误。我的solr应用程序是否需要在xampp的htdocs中?因为我把它放在tomcat服务器的webapps文件夹中。我真的不明白这会有什么不同,因为我在solr php客户端中专门提供了ping的路径,如下所示:在PHP中使用Solr,php,apache,tomcat,solr,Php,Apache,Tomcat,Solr,我正在尝试将solr与php结合使用。我已经配置了solr应用程序,它运行良好。但是,我无法使用php与solr通信。我尝试了许多扩展:peclsolr、solrppc客户端和Solarium。然而,没有人能够ping我的solr服务器。所有这些,而我的solr服务器在localhost:8080/solr上可用。我用tomcat在windows上运行它。(我一直在检查我的tomcat和solr服务,当通过php ping时,它们已经启动并运行了) 我想我在这里犯了一些非常基本的错误。我的sol
require_once( 'Apache/Solr/service.php' );
$solr = new Apache_Solr_Service( 'localhost', '8080', '/solr' );
var_dump($solr) ;
if ( ! $solr->ping() ) {
echo 'Solr service not responding.';
exit;
}
我在运行此代码时收到“Solr服务未响应”消息。有什么建议吗
更新:我在引擎盖下寻找,发现为了获取内容,使用了以下php函数:file\u get\u contents
我进一步了解到,当通过URI定位文件时,可能会失败,因为出于安全考虑,许多服务器会阻止此命令。xampp也是这样吗?在我的本地机器上运行那是什么 试试这个,我希望它能对你有所帮助,它对我很有用
$solr = new Apache_Solr_Service( 'localhost', '8080', '/solr' );
var_dump($solr) ;
if ( $solr->ping() ) {
echo 'Solr Server Responding.';
// your code
}else{
echo "Solr Server is not Running";
}
只需从代码中删除
require_一次('Apache/Solr/service.php')代码>这个 您无法ping您的solr服务器,因为您没有提到您的核心名称
require_once('Apache/Solr/Service.php');
$solr = new Apache_Solr_Service( 'localhost', '8080', '/solr/CORE_NAME'
);
var_dump($solr) ;
if ( ! $solr->ping() ) {
echo 'Solr service not responding.';
exit;
}
您只需添加核心名称
$solr = new Apache_Solr_Service( 'localhost', '8080', '/solr/CORE_NAME');
一旦您传递您创建的核心名称,它将开始为您工作。Windows。然而,我认为这可能与这个问题有关:正如我刚才所观察到的,当我尝试以下操作时会抛出一个错误:localhost:8080/solr/admin/ping。请求处理程序出现了一些问题,请尝试使用内置的curl
HTTP-client for PHP;这可能需要根据您的设置启用。这样行吗?我已经启用了旋度。但是我对它不是很精通。你能推荐一些代码来使用curl进行测试吗?我用curl解决了一些问题。有关此问题,请参阅我的编辑。还有一种方法可以将curl响应作为xml而不是长字符串获取吗?