我在PHP中使用Filemaker API从Filemaker Pro 11高级数据库中检索记录。但显示错误:
Error: Communication Error: (22) The requested URL returned error: 404 - This can be due to an invalid username or password, or if the FMPHP privilege is not enabled for that user.
尽管我已经设置了所有扩展特权并将其提供给用户。请任何人都可以帮助我...
尽管您提到过,但是您已经照顾了这个问题,每当我遇到此问题时,都是因为用于使用PHP登录的用户没有设置fmphp
扩展特权。
首先知道您要尝试使用PHP登录的用户。然后,在FileMaker中,从菜单栏中选择File> Manage> Security。查看“帐户”选项卡,并记下分配给您的Web用户的特权集。单击权限集选项卡,然后在列表中双击此权限集。在右下角的“扩展权限”列表中,确保“通过PHP Web发布访问”旁边有一个复选框。
[当您在那儿时,请仔细检查正在使用的密码。必须是您未使用正确的扩展特权集,或者您未使用正确的凭据登录。
我很确定您现在必须已经解决了这个问题,但是如果您还没有解决,那是另一条建议。今天我遇到了同样的问题,并设置了所有扩展权限。
问题出在FileMaker API。确保所使用的Php FM API与托管数据库的FileMaker Server具有相同的版本。 FM Server 11将需要为FMS 11发布的API。我使用的是为FMS 9发布的最后一个独立API,因此它不起作用。在将php更新为FMAPI 13时,我能够连接并获取布局。
PHP的FileMaker API程序包作为.zip文件包含在以下位置:
对于IIS(Windows):drive:\Program Files\FileMaker\FileMaker Server\Web Publishing\FM_API_for_PHP_Standalone.zip
对于Apache(Mac OS):/Library/FileMaker Server/Web Publishing/FM_API_for_PHP_Standalone.zip
仔细检查您的连接参数,它应该看起来像这样...
// filemaker server connection param
$connection =& new FileMaker('DBName', 'http://www.domain.com');
$connection->setProperty('username', 'youruser');
$connection->setProperty('password', 'yourpass');
首先,检查PHP API是否已安装并正在运行。在服务器上,转到http://localhost-您将看到一个屏幕,指示PHP API正在运行。如果您看到其他内容,则可能必须深入研究PHP API的安装-可能重新部署服务器并检查PHP API。看到服务器通过了Web服务器测试。
[下一步,检查登录服务器的用户是否设置了正确的特权。我们通常为PHP API创建第二个帐户,在该帐户中,权限已正确设置为MODIFY记录和VIEW Layouts,并且当然设置了fmphp属性。
如果仍然无法连接,请从Web服务器尝试执行
wget http://fmhost_ip/
cat index.html
确保您在URL上获得“ FileMaker Database Server网站”登录页面(没有/ fmi / ...地址),我的问题是使用IIS用于另一个网站的另一个域/子域。
经过几个小时的尝试,我在IIS管理器上找到了将php与IIS通讯的解决方案...,只需要在ISAPI筛选器中添加到默认网站,并添加此可执行文件...,“ C: \ Program Files \ FileMaker \ FileMaker Server \ Web Publishing \ publishing-engine \ web-server-support \ iis \ isapi_redirect.dll“-名称为[]