我的主要问题是,我无法访问symfony2项目中的Solarium(第三方库),我不明白为什么。我有一个symfony2应用程序,想编写自己的Solr连接器。因此,我想使用Solarium。(重要提示:我不想使用其他捆绑包)
首先,我通过composer 安装了它
"require": {
//...
"solarium/solarium": "3.3.0.x-dev"
}
然后我打电话给:
php composer.phar install
php composer.phar update
第二,我在捆绑包中为我的连接器创建了一个新目录:
/src/COMPANY/ThatIsMyBundle/SolrSearch/
这个目录中是我的类SolrConnector.php
namespace COMPANY'ThatIsMyBundle'SolrSearch;
use Solarium'Client;
//use Solarium'Core'Client;
class SolrConnector {
private $solr_client;
function __construct($settings)
{
$solr_config = array(
'endpoint' => array(
'protokolldb' => array(
'host' => $settings['solrHost'],
'port' => $settings['solrPort'],
'path' => $settings['path'],
'core' => $settings['core'],
'timeout' => $settings['timeout']
)
)
);
$this->solr_client = new Client($solr_config);
}
/**
* Check if Solr is on.
*/
function executePing() {
$ping = $this->solr_client->createPing();
try {
$this->solr_client->ping($ping);
echo "Solr is fine.'n";
} catch (Exception $e) {
echo "Solr is unaccessible. Look up whats wrong with Solr and restart this script.'n ".$e->getMessage();
}
}
}
我收到了来自symfony的错误消息:
尝试从"(my项目的特定路径)/SolrSearch/SolrConnector.php第32行。"你需要从另一个命名空间"使用"它吗?
在我的Symfony2捆绑包中使用Solarium需要做什么?我认为这是一个名称空间/use/request问题。我在谷歌上搜索了好几个小时。。。没有解决方案。
我尝试过的东西:
添加
require('../vendor/autoload.php);
同样的错误。
使用时
php composer.phar install
它只安装存储在composer.lock 中的包
你需要运行
php composer.phar update
以安装新程序包。它还清除和预热symfony缓存和自动加载器