【コラム】

FileMaker×PHPで作る、簡単・便利なWebアプリ

25 2大ライブラリのもうひとつ、API for PHPを試す

 

25/116

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を利用するにあたり最低限の準備はととのった。次回以降はこのライブラリの使い方を順に紹介していこう。

25/116

インデックス

連載目次
第116回 最新の情報を追い続ける
第115回 簡易エラーロギングで、トラブルシューティングをより素早く(2)
第114回 簡易エラーロギングで、トラブルシューティングをより素早く(1)
第113回 表示方法「表形式」の落とし穴
第112回 FileMaker Webアプリで見落としやすいセキュリティのポイント
第111回 外部データソースに注意! Web公開が遅くなったときのチェック
第110回 FX_Fuzzy_Debuggerで補足できるエラー
第109回 FileMakerデバッグの際に有用なツールを自作する
第108回 繰り返しフィールドを扱うときの注意点
第107回 FX.phpのデバッグメッセージをコンソールに表示する
第106回 FileMaker Serverの「使用状況」とは
第105回 Web経由でのCSVエクスポート
第104回 Web公開でのグラフ表示にチャレンジ
第103回 データベースデザインレポートを活用したWeb帳票(4)
第102回 データベースデザインレポートを活用したWeb帳票(3)
第101回 データベースデザインレポートを活用したWeb帳票(2)
第100回 データベースデザインレポートを活用したWeb帳票(1)
第99回 SetLogicalOR()と空白・改行文字の取扱いについて
第98回 FMCakeMixでスクリプトを二重起動させない方法
第97回 コマンドラインを活用したメンテナンス方法(3)
第96回 コマンドラインを活用したメンテナンス方法(2)
第95回 コマンドラインを活用したメンテナンス方法
第94回 FMFind()とFMView()の処理の違いとは
第93回 オブジェクトフィールドからファイル参照への移行法
第92回 FX.phpで複合検索をおこなうには(3)
第91回 FX.phpで複合検索をおこなうには(2)
第90回 FX.phpで複合検索をおこなうには(1)
第89回 Hello, FMCakeMix! チュートリアル(14)
第88回 Hello, FMCakeMix! チュートリアル(13)
第87回 Hello, FMCakeMix! チュートリアル(12)
第86回 Hello, FMCakeMix! チュートリアル(11)
第85回 Hello, FMCakeMix! チュートリアル(10)
第84回 Hello, FMCakeMix! チュートリアル(9)
第83回 Hello, FMCakeMix! チュートリアル(8)
第82回 Hello, FMCakeMix! チュートリアル(7)
第81回 Hello, FMCakeMix! チュートリアル(6)
第80回 Hello, FMCakeMix! チュートリアル(5)
第79回 Hello, FMCakeMix! チュートリアル(4)
第78回 Hello, FMCakeMix! チュートリアル(3)
第77回 Hello, FMCakeMix! チュートリアル(2)
第76回 Hello, FMCakeMix! チュートリアル(1)
第75回 最新FMCakeMixの動向を追う(3)
第74回 最新FMCakeMixの動向を追う(2)
第73回 最新FMCakeMixの動向を追う
第72回 FileMaker Webアプリを支えるライブラリ集
第71回 メンテ必須事項! 長期運用でのポイント(4)
第70回 メンテ必須事項! 長期運用でのポイント(3)
第69回 メンテ必須事項! 長期運用でのポイント(2)
第68回 メンテ必須事項! 長期運用でのポイント(1)
第67回 FileMaker Server 10→11での変更点
第66回 FX.php/APIの違い - スクリプトの実行
第65回 FX.php/APIの違い - レコード削除
第64回 FX.php/APIの違い - レコード編集(2)
第63回 FX.php/APIの違い - レコード編集(1)
第62回 FX.php/APIの違い - レコード検索(7)
第61回 FX.php/APIの違い - レコード検索(6)
第60回 FX.php/APIの違い - レコード検索(5)
第59回 FX.php/APIの違い - レコード検索(4)
第58回 FX.php/APIの違い - レコード検索(3)
第57回 FX.php/APIの違い - レコード検索(2)
第56回 FX.php/APIの違い - レコード検索(1)
第55回 FX.php/APIの違い - レコード登録(2)
第54回 FX.php/APIの違い - レコード登録(1)
第53回 番外編: CakePHPでFileMakerを使う方法
第52回 レコードの取扱いに特化したクラス"FileMaker_Record" (3)
第51回 レコードの取扱いに特化したクラス"FileMaker_Record" (2)
第50回 レコードの取扱いに特化したクラス"FileMaker_Record" (1)
第49回 結果セットの取扱いに特化したクラス、FileMaker_ResultSet(2)
第48回 結果セットの取扱いに特化したクラス、FileMaker_ResultSet(1)
第47回 ポータル情報の取得に特化したクラス、FileMaker_Field
第46回 フィールド情報の取得に特化したクラス、FileMaker_Field(4)
第45回 フィールド情報の取得に特化したクラス、FileMaker_Field(3)
第44回 フィールド情報の取得に特化したクラス、FileMaker_Field(2)
第43回 フィールド情報の取得に特化したクラス、FileMaker_Field(1)
第42回 レイアウト情報取得に特化したFileMaker_Layout(3)
第41回 レイアウト情報取得に特化したFileMaker_Layout(2)
第40回 レイアウト情報取得に特化したFileMaker_Layout(1)
第39回 API for PHPの中枢、FileMakerクラス(3)
第38回 API for PHPの中枢、FileMakerクラス(2)
第37回 API for PHPの中枢、FileMakerクラス(1)
第36回 API for PHPでのオブジェクトフィールド取り扱い
第35回 API for PHPでのレコード複製・削除方法、関連メソッド紹介
第34回 API for PHPでのレコード編集方法、関連メソッド紹介(2)
第33回 API for PHPでのレコード編集方法、関連メソッド紹介(1)
第32回 API for PHPでのレコード検索、関連メソッド紹介(2)
第31回 API for PHPでのレコード検索、関連メソッド紹介(1)
第30回 API for PHPを使うなら覚えておきたいvalidateの使い方
第29回 API for PHPでのレコード登録方法、関連するメソッドの紹介(2)
第28回 API for PHPでのレコード登録方法、関連するメソッドの紹介(1)
第27回 API for PHPでのDB接続手順、レコード表示まで(2)
第26回 API for PHPでのDB接続手順、レコード表示まで(1)
第25回 2大ライブラリのもうひとつ、API for PHPを試す
第24回 スピードアップのための徹底チューニング(6) 総集編
第23回 スピードアップのための徹底チューニング(6) スクリプトを活用せよ
第22回 スピードアップのための徹底チューニング(5) 続・集計には中間テーブル
第21回 スピードアップのための徹底チューニング(4) 集計には中間テーブル
第20回 スピードアップのための徹底チューニング(3) 集計フィールドは置かない
第19回 スピードアップのための徹底チューニング(2) 検索実装の御法度
第18回 スピードアップのために徹底チューニング(1) フィールドの配置法
第17回 見落としがちな「アカウントとアクセス権」の管理術
第16回 「CSVからデータをインポートしたい」には要注意!(2) - 実装編
第15回 「CSVからデータをインポートしたい」には要注意!(1) - まずは解説から
第14回 エラーコード早見表 & お手軽デバッグ「Fuzzy_Debugger」
第13回 値一覧でユーザビリティアップ! JavaSciptを活用せよ
第12回 オブジェクトフィールドから脱却! よりよいパフォーマンスを出す実装とは
第11回 オブジェクトフィールドは鬼門?! Webから取り扱うときの注意点
第10回 PHPデプロイ/FMサーバ管理者必見、カスタマイズすべき設定
第9回 PHPのインストール~FileMakerデプロイ
第8回 FileMaker Webアプリのインストール
第7回 FileMakerといえば帳票! さくっとデザインしてWebからPDFダウンロード
第6回 FileMakerならではのメリットを出すには - スクリプトを活用せよ
第5回 基礎編はこれで終わり! - 詳細/変更/削除処理
第4回 いよいよUIの実装へ! 最初は登録/一覧画面
第3回 FileMakerのCRUDはこれで完璧! - FMEdit()~FMDelete()まで
第2回 レコードの登録 - 各種関数・メソッドの紹介
第1回 まずは2大ライブラリを比較

もっと見る



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

ジェットスター・ジャパン、初の通期黒字化--中国本土など国際線拡大へ
[17:26 8/24] 趣味
スマイルワークスのクラウド給与計算ソフト、中堅企業向けに機能を強化
[17:25 8/24] 企業IT
朝食市場、活性化の鍵はカギはどの世代?
[17:24 8/24] マネー
高畑裕太容疑者出演ドラマ『侠飯』一部撮り直しに - 26日放送分から編集
[17:08 8/24] エンタメ
MSI、OC版Radeon RX 480搭載グラフィックスカード - 税別34,980円
[17:07 8/24] パソコン

求人情報