FileMaker Webアプリを構築するにあたり、FX.phpをベースとした基本機能の実装から関連するアドバンスドな機能までひととおりを紹介してきた。コラムにひととおり目をとおしていただき、コードを書く練習をすればFileMakerでも簡単にWebアプリができるようになり、FileMaker独特のクセもすこしづつ理解できるようになるだろう。

いったんFX.phpの話題はここでお休みとし、今回からはFileMaker + PHPでWebアプリを実装するもう一つの選択肢「FileMaker API for PHP」を取りあげていきたいと思う。FileMaker API for PHPの簡単な概要やメリット・デメリットは本連載の第1回目にまとめてあるので、そちらを参考にしてほしい。

FileMaker API for PHPの利用手順

さっそくFileMaker API for PHPの実装に入りたいところだが、まずはひととおりの準備だ。FX.phpに利用手順があるように、FileMaker API for PHPにもFileMakerファイルとFileMaker Server側にあらかじめ設定が必要だ。

おもに設定する箇所は次の2点だ。

  • FileMakerファイル: 拡張アクセス権「fmphp」キーワードにアカウントをセット
  • FileMaker Server: 構成 > Web公開エンジンの設定で「PHP公開を有効にする」にチェック

FileMakerファイルはFX.phpのときに「fmxml」に設定した時と同様、アカウントとアクセス権 > 拡張アクセス権とたどり、「fmphp」キーワードにWebアプリから使用したいアカウントにチェックを入れる。

拡張アクセス権「fmphp」キーワードにWebアプリから使用したいアカウントにチェックを入れる

つづいてFileMaker Server側の設定だ。FileMaker Server Admin Consoleを起動し、左部メニューより「Web公開」を選択。PHPタブを選択し「PHP公開を有効にする」にチェックを入れ、保存。FileMaker Serverを再起動する。

「PHP公開を有効にする」にチェックを入れ、設定の保存後にFileMaker Serverを再起動する

これでFileMaker API for PHPを使用するにあたり必要な設定は完了した。なお、同ライブラリはFileMaker Serverインストール時と同時に特定のパスに配置される。スタンドアロンで利用したい場合は/Library/FileMaker Server/Web Publishing/にあるFM_API_for_PHP_Standalone.zipを解凍し、特定のディレクトリにデプロイしておく。デプロイ後、動作確認として簡単なPHPを実行してみよう。

test.php

<?php

include_once('./FileMaker.php');
$fm = new FileMaker();
echo '<pre>';
var_dump($fm->listDatabases());
echo '</pre>'

?>

このコードではFileMaker API for PHPでアクセスできるFileMakerファイルの一覧を取得し、表示する。実際にこれを実行してみよう。

「fmphp」キーワードを設定したファイルが表示されれば成功

FileMakerファイルが表示されなかったり、959エラーが返る場合は上記2点の設定がうまくおこなわれていない可能性がある。もう1回設定を見直してトライしてみよう。

FileMaker Serverの設定に失敗している場合、このようなエラーが返る。再度設定を見直してみよう

「PHP公開の設定」に関するトラブルシュート

PHP公開の設定はこのほかにも「サーバー展開の編集」からもおこなえるが、環境によってはIIS/ApacheといったWebサーバの設定が不用意に書き変わってしまう場合があるため、なるべく一般設定からおこなうようにしたいところだ。

ウィザード形式で便利な「サーバー展開の編集」機能だが、運用中のマシンにおいてこれを使用すると環境によってはWebサーバの設定が変わったり初期化されてしまうことがある。もし利用する場合は充分注意されたい

またMac OS Xの場合、FileMaker ServerにはApache用のコンフィグが用意されている。いままで動いていたWebアプリケーションがFileMaker ServerのPHP設定をおこなってから調子がわるくなった場合は、インクルードされるコンフィグを疑ってみよう。これらのファイルは/Library/FileMaker Server/Admin/admin-helper/WEB-INF/conf/以下に配置され、初期設定では次の3ファイルがインクルードされる。必要に応じてこれらのファイルを走査し、不要な設定項目はコメントアウトしておこう。

  • fmi-test.conf
  • fm-server-status.conf
  • mod_jk.conf

以上でFileMaker API for PHPを利用するにあたり最低限の準備はととのった。次回以降はこのライブラリの使い方を順に紹介していこう。