AzureのAppServiceにPHPのRedisエクステンションをインストールする
1. App Serviceの作成
ランタイムスタックを PHP
にして App Service
を作成する。
図 1. AppServiceの作成
PHP7.4の場合はこちら → AzureのAppServiceでPHP7.4環境にRedisエクステンションをインストール |
2. Redisエクステンションのインストール
SSHコンソールを開く
図 2. SSH
インストール
# pecl install redis Cannot load Zend OPcache - it was already loaded WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update downloading redis-5.3.1.tgz ... Starting to download redis-5.3.1.tgz (264,485 bytes) ......................................................done: 264,485 bytes 29 source files, building running: phpize Configuring for: PHP Api Version: 20180731 Zend Module Api No: 20180731 Zend Extension Api No: 320180731 enable igbinary serializer support? [no] : .... Build complete. Don't forget to run 'make test'. : : : Build process completed successfully Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20180731/redis.so' install ok: channel://pecl.php.net/redis-5.3.1 configuration option "php_ini" is not set to php.ini location You should add "extension=redis.so" to php.ini
.so
ファイルを置くディレクトリを作り、ビルドされた redis.so
をコピーする。
/home 配下に作成すること
|
# mkdir /home/site/ext # cp /usr/local/lib/php/extensions/no-debug-non-zts-20180731/redis.so /home/site/ext/ # ls -al /home/site/ext/ total 2688 drwxrwxrwx 2 nobody nogroup 0 Jul 23 00:27 ./ drwxrwxrwx 2 nobody nogroup 4096 Jul 23 00:26 ../ -rwxrwxrwx 1 nobody nogroup 2746136 Jul 23 00:27 redis.so*
ini
ファイルを置くディレクトリを作る。
こちらも /home 配下に作成すること
|
# mkdir /home/site/ini
extensions.ini
ファイルを作成して、extension=/home/site/ext/redis.so
を書き込む。
# touch /home/site/ini/extensions.ini # echo 'extension=/home/site/ext/redis.so' >> /home/site/ini/extensions.ini
3. AppServiceの設定
[構成]メニューのアプリケーション設定にある「新しいアプリケションを選択」を選ぶ。
図 3. アプリケーション設定
-
名前 :
PHP_INI_SCAN_DIR
-
値 :
/usr/local/etc/php/conf.d:/home/site/ini
として追加する。
図 4. PHP_INI_SCAN_DIR設定
変更を保存する。
図 5. 保存
App Service
が再起動して反映される。
# php -i |grep redis Cannot load Zend OPcache - it was already loaded redis redis.arrays.algorithm => no value => no value redis.arrays.auth => no value => no value redis.arrays.autorehash => 0 => 0 redis.arrays.connecttimeout => 0 => 0 redis.arrays.consistent => 0 => 0 redis.arrays.distributor => no value => no value redis.arrays.functions => no value => no value : : :