PHPモジュールのコンパイル方法
ServBayを使用してPHP開発を行う際、PHPの機能を拡張するため、追加のPHPモジュールをコンパイルしてインストールする必要があります。本記事では、ServBay環境でPHPモジュールをコンパイルする方法をご紹介します。具体的には、imagick
モジュールとsqlsrv
モジュールのコンパイルについて説明します。
事前条件
PHPモジュールのコンパイルを始める前に、コンパイル環境の初期化が完了していることを確認してください。コンパイル環境の初期化の詳細な手順については、ドキュメント 使用 ServBay 进行二次编译 を参照してください。
PHPバージョンの指定の重要性
ServBayには複数のPHPバージョンが付属しており、phpize
、php-config
およびその他のツールでコンパイルを行う際には、使用するPHPバージョンを必ず指定してください。これは、異なるバージョンのPHPが異なる設定や依存関係を持つ可能性があるためです。正しいバージョンを選択することで、コンパイルエラーや実行時の問題を避けることができます。
本記事では、PHP 8.3
を例にとります。
PHP imagickモジュールをコンパイルする
imagick
モジュールは、画像処理を行うためのPHP拡張です。以下は、imagick
モジュールをコンパイルする手順です:
手順1:ソースコードをダウンロードする
まず、PECLからimagick
モジュールのソースコードパッケージをダウンロードします。
wget https://pecl.php.net/get/imagick-3.7.0.tgz
手順2:ソースコードパッケージを解凍する
ダウンロードしたソースコードパッケージを解凍します。
tar zxvf imagick-3.7.0.tgz
cd imagick-3.7.0
2
手順3:設定ファイルを生成する
phpize
を使用して設定ファイルを生成します。この過程で、使用するPHPバージョンを必ず指定してください。例えば、PHP 8.3を使用している場合、以下のコマンドを実行します:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
手順4:コンパイルオプションを設定する
コンパイルオプションを設定し、PHPの設定パスを指定します。
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
手順5:コンパイルおよびインストール
imagick
モジュールをコンパイルしてインストールします。
make -j ${CPU_NUMBER}
make install
2
手順6:モジュールを有効にする
PHPのconf.d
ディレクトリにimagick.ini
ファイルを作成し、imagick
モジュールを有効にします。例えば:
echo "extension=imagick.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/imagick.ini
手順7:モジュールの読み込みを確認する
ServBayの管理パネルを通じてPHPサービスを再起動し、コマンドラインを使用してモジュールが正しく読み込まれたかを確認します:
php-8.3 -m | grep imagick
モジュールが正常に読み込まれた場合、出力結果にimagick
が表示されます。
PHP sqlsrvモジュールをコンパイルする
sqlsrv
モジュールは、Microsoft SQL Serverと対話するためのPHP拡張です。以下は、sqlsrv
モジュールをコンパイルする手順です:
手順1:ソースコードをダウンロードする
まず、PECLからsqlsrv
モジュールのソースコードパッケージをダウンロードします。
wget https://pecl.php.net/get/sqlsrv-5.12.0.tgz
手順2:ソースコードパッケージを解凍する
ダウンロードしたソースコードパッケージを解凍します。
tar zxvf sqlsrv-5.12.0.tgz
cd sqlsrv-5.12.0
2
手順3:設定ファイルを生成する
phpize
を使用して設定ファイルを生成します。この過程で、使用するPHPバージョンを必ず指定してください。例えば、PHP 8.3を使用している場合、以下のコマンドを実行します:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
手順4:コンパイルオプションを設定する
コンパイルオプションを設定し、PHPの設定パスを指定します。
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
手順5:コンパイルおよびインストール
sqlsrv
モジュールをコンパイルしてインストールします。
make -j ${CPU_NUMBER}
make install
2
手順6:モジュールを有効にする
PHPのconf.d
ディレクトリにsqlsrv.ini
ファイルを作成し、sqlsrv
モジュールを有効にします。例えば:
echo "extension=sqlsrv.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/sqlsrv.ini
手順7:モジュールの読み込みを確認する
ServBayの管理パネルを通じてPHPサービスを再起動し、コマンドラインを使用してモジュールが正しく読み込まれたかを確認します:
php-8.3 -m | grep sqlsrv
モジュールが正常に読み込まれた場合、出力結果にsqlsrv
が表示されます。
まとめ
上記の手順を通じて、ServBay環境で必要なPHPモジュールをコンパイルおよびインストールすることができます。コンパイル中は、正しいPHPバージョンを必ず指定し、モジュールがPHP環境と互換性があることを確認してください。この記事が、PHPモジュールのコンパイルおよび有効化作業の参考になれば幸いです。