Azure Function App で実行する PHP バージョンを指定する

Azure Function App で実行する PHP バージョンを指定するには通常は [アプリケーション設定] から [PHP のバージョン] を選ぶだけです。
しかし最新版を使いたいなど特定バージョンの php.exe を指定したい場合があると思います。

php.exe ダウンロード

https://windows.php.net/download
から使いたい php.exe をダウンロード。( VC15 x64 Thread Safe など)
zip のままで OK 。

Function App に適用

[プラットフォーム機能] から [高度なツール(Kudu)] を開く。
[Debug console] から [PowerShell] を選択。
D:\home\site\tools へ移動。
ダウンロードしておいた zip を [Drag here to upload and unzip] と書いてあるところへドラッグ&ドロップ。( Size のところらへん)

php.ini の設定

php.ini.production をコピーして php.ini を作成。

今回は CURL と OpenSSL が必要だったので以下を設定。

[PHP]
extension=curl
extension=openssl
 
[curl]
curl.cainfo="D:\Program Files\Git\etc\pki\ca-trust\extracted\openssl\ca-bundle.trust.crt"

以上で適用されます。

元に戻す

D:\home\site\tools 以下のファイルを削除すれば元の状態に戻ります。

確認

<?php
echo phpversion().PHP_EOL;

で実行。ログに出力されます。

参考

ちなみに今回はプラットフォーム側の php.exe パスが見つけられず 500 Internal Server Error が出ていたので以下を参考に対応しました。
using PHP functions no longer run #3134
Using a custom version of Python


カテゴリー: Windows Azure タグ: , パーマリンク