みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
お世話になります。
カスタムWEB公開 With PHPについて質問させて下さい。
■環境
・APサーバ:Linux(apache2系+PHP5.3系)
・FMサーバ:Windows2008(FileMakerServer Pro 12)
で構築しています。
■質問内容
APサーバのPHPでFMサーバからデータを検索するPGを組もうとしてますが
execute() , getLayout , getRecords()までは使えるのですが
getValueList() , getValueListTwoFields()を使おうとすると
Fatal error: Call to undefined method FileMaker_Error::getValueList()
の様に関数が読み込めないエラーになります。
■試した事
・上記作業はFM_API_for_PHP_Standalone.zipのライブラリを展開して出来たfilemaker.phpをrequireしてます。
・FileMaker Sever Admin Console から[ セキュリティ ]タブの[データベースサーバーへの接続を保護]をOFFにしても症状は変わらず
・$__FM_CONFIG['hostspec'] をIP/ドメインの何れもNG
・$__FM_CONFIG['curlOptions'] = array(CURLOPT_SSL_VERIFYPEER => false); を追加しても変わらず。
お手数ですが、ご教授頂けます様
宜しくお願い致します。
FMサーバがWinなら、WebサーバもWinのIISでないと?
参考→
・http://www.filemaker.co.jp/support/prod … df#page=11
・http://www.filemaker.co.jp/support/prod … df#page=23
Offline
そうですが、使えてる関数もあるというから、使い方が間違ってるだけかも。
getValueLists()
じゃないですか。(複数形)
単数形なら引数が必要。
Hiro様、レス有難うございます。
>FMサーバがWinなら、WebサーバもWinのIISでないと?
サーバ構成ですが、メーカに問い合わせたところAPサーバがLinuxの場合の導入事例はあるとの事です。
Lister様、レス有難うございます。
>getValueLists()
確認しましたが問題無さそうです。
ライブラリの本体を見てみたのですが、filemaker.phpに定義されてるメソッドは使えるのですが
その先のFileMaker/Implementation/Parser/FMResultSet.php
で内包される「Layout.php」「RelatedSet.php」「Record.php」「Field.php」で宣言されてる
メソッドが丸ごと使えない様です。(特にrequireエラーは出てないので、読めてはいそうなのですが。。)
一応、コードを記載させて頂きます。
1.$fm->setProperty('database' , "レイアウト名");
2.$fm->setProperty('hostspec' , "http://ドメイン名");
3.$fm->setProperty('username' , "ユーザ名");
4.$fm->setProperty('password' , "パスワード");
5.$findCommand =& $fm->newFindCommand("test検索結果");
6.$findCommand->addFindCriterion("作業日",">9/19/2013");
7.$result = $findCommand->execute();
8.$layout = $fm->getLayout('レイアウト名');
9.//$layout->getValueListTwoFields("作業日");
10.$layout->getValueLists("D完了報告書::作業日");
9,10どちらもFATALエラー、7をprint_rすると、一応データは取れてる。
引き続き、宜しくお願い致します。
8.がエラーになってますよね。
Fatal error: Call to undefined method FileMaker_Error::getValueList()
FileMaker_Layout|FileMaker_Error &getLayout (string $layout)
だから、&が必要?
つまり、8.でphp自体は正常に実行してても結果がFileMaker_LayoutでなくFileMaker_Errorになってるので、
その続きでは(関数が読み込めてないんではなく)存在しないメソッド(FileMaker_ErrorオブジェクトのgetValueList())を呼び出してます。
&は関係なくてレイアウト名が間違ってるとかいうだけなのかな。
$result->getLayout()
ではだめなの?
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 515.81 KiB (Peak: 520.72 KiB) ]