以前紹介した
システムに
twilioを導入して、集合要請時に携帯電話に自動通話を行いメール確認を促す仕組みを作ることになりました。メールだけでなく電話も来たら急かされるようで鬱陶しいと個人的には思いますが、人命にかかわる緊急事態なので仕方ないのでしょう。twilioについては以前SMSメッセージを送るスクリプト(例えば
こちらを参照)を作ったことがあったので通話発信も同様にやればいいだろうと考えていましたが、早速つまずきました。以前と同じように
こちらなどを参考にスクリプトを書いたのですが500番エラーが出てどうにもなりません。エラーログにversion, upgradeなどの単語が入っていたのでテスト用のサーバがPHP5.3と古いものなので読み込むTwilio PHPライブラリーのバージョンが問題なのかと見当をつけ、手動ではなく昔よく使ったPEARでインストールすることにしました。
https://docs.microsoft.com/ja-jp/azure/partner-twilio-php-how-to-use-voice-sms
を参考にして
[root@xxxxxxx ~]# pear channel-discover twilio.github.com/pear
[root@xxxxxxx ~]# pear install twilio/Services_Twilio
とすると
[root@xxxxxxx ~]# pear install twilio/Services_Twilio
Unknown remote channel: pear.survivethedeepend.com
Did not download optional dependencies: channel://pear.survivethedeepend.com/Mockery, use --alldeps to download automatically
twilio/Services_Twilio can optionally use package "channel://pear.survivethedeepend.com/Mockery"
downloading Services_Twilio-3.12.6.tgz ...
Starting to download Services_Twilio-3.12.6.tgz (85,763 bytes)
........done: 85,763 bytes
install ok: channel://twilio.github.io/pear/Services_Twilio-3.12.6
となり上手くインストールされたようですが、エラーは消えませんでした。PHPパッケージのインストールは今ではPEARではなくcomposerというのが主流のようで、公式サイト
でもサーバ環境にあったパッケージを自動でインストールしてくれるcomposerを推薦しているので
を参考にしてまずcomposerをインストールしてみると
[homepage@xxxxxxx ~]# php composer-setup.php
Downloading...
Composer (version 1.9.0) successfully installed to: /home/homepage/composer.phar
Use it: php composer.phar
Some settings on your machine may cause stability issues with Composer.
If you encounter issues, try to change the following:
Your PHP (5.3.3) is quite old, upgrading to PHP 5.3.4 or higher is recommended.
Composer works with 5.3.2+ for most people, but there might be edge case issues.
となりPHP5.3.3はかなり古いよ!との警告が出ました。とりえず無視してtwilio/sdkをインストールすると
[root@xxxxxxx ~]# composer require twilio/sdk
Using version ^5.19 for twilio/sdk
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing twilio/sdk (5.19.3): Downloading (100%)
Writing lock file
Generating autoload files
無事インストールされたようです。twilio/sdkのパッケージリスト
によると現時点で最新のバージョンは5.36.1でPHP5.5以上に対応しています。PHP5.3に対応している最新版が5.19.3なのでしょう。
これでバージョン問題は解決したはずなのですがまだエラーが解消しませんでした。エラーログにversion, upgradeなどと出ていたのでてっきりPHPパッケージのバージョンが問題なのだと勘違いしていましたが、試行錯誤の末たどり着いた解決策は