Solarium adapters
What about systems that do not have cURL installed? Solarium comes with a concept of adapters. Adapters define the way in which PHP will communicate with the Solr server. The default adapter is cURL, which we used earlier. But in the absence of cURL, the adapter can be switched to HTTP. CurlAdapter is dependent on the curl utility, which needs to be installed or enabled separately.
HttpAdapter on the other hand uses the file_get_contents()
PHP function to get a Solr response. This uses more memory and is not recommended when the numbers of queries on Solr are very large. Let us see the code to switch adapter in Solarium:
$client->setAdapter('Solarium\Core\Client\Adapter\Http'); var_dump($client->getAdapter());
We can call getAdapter()
to check the current adapter. There are other adapters available—the ZendHttp adapter that is used with Zend Framework. There is a PeclHttp adapter, which uses the pecl_http
package to make HTTP calls to Solr. The HTTP, Curl, and Pecl adapter support authentication, which can be used by the setAuthentication()
function discussed earlier. CurlAdapter also supports the usage proxy. You can also create a custom adapter using the adapter interface if required.