SolrをPHPで使う(インストール編)
PHPではPECLで Solr Extension が用意されています。
https://www.php.net/manual/ja/book.solr.php
Solr Extension をインストールするためには、まず PECL を使えるようにします。(以下、Debian での手順です)
$ sudo apt install php-pear php-dev $ sudo pecl channel-update pecl.php.net $ ecl search solr Matched packages, channel pecl.php.net: ======================================= Package Stable/(Latest) Local solr 2.5.1 (stable) The Apache Solr PHP extension is an extremely fast, light-weight, feature-rich library that allows PHP applications to communicate easily and efficiently with Apache Solr server instances using an object-oriented API.
Solr Extension をコンパイルするのに必要なライブラリをインストールします。
$ sudo apt install libcurl4-openssl-dev libxml2-dev $ mkdir -p /tmp/libcurl4/include $ ln -s /usr/include/x86_64-linux-gnu/curl /tmp/libcurl4/include $ mkdir -p /tmp/libxml2/include $ ln -s /usr/include/libxml2/libxml /tmp/libxml2/include/libxml2
PECL が想定しているディレクトリ構成に合わせるためにシンボリックリンクを張っています。
ここまで準備ができたらインストール。
$ sudo pecl install solr (略) Build process completed successfully Installing '/usr/lib/php/20190902/solr.so' install ok: channel://pecl.php.net/solr-2.5.1 configuration option "php_ini" is not set to php.ini location You should add "extension=solr.so" to php.ini
途中で libcurl と libxml2 の include パスを聞かれるので、それぞれ /tmp/libcurl /tmp/libxml2 を指定します。
コンパイルが正常に終了したら PHP から利用できるように設定します。
$ sudo sh -c "echo extension=solr.so > /etc/php/7.4/mods-available/solr.ini" $ sudo ln -s /etc/php/7.4/mods-available/solr.ini /etc/php/7.4/cli/conf.d/30-solr.ini $ sudo ln -s /etc/php/7.4/mods-available/solr.ini /etc/php/7.4/apache2/conf.d/30-solr.ini $ sudo service apache2 restart