使用 PHP 的 Filemaker
我使用 PHP 中的 Filemaker API 从 Filemaker Pro 11 Advance 数据库检索记录。 但它显示错误:
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.
虽然我已经设置了所有扩展权限并将其提供给用户。 请任何人都可以帮助我...
Im using Filemaker API in PHP to retrieve the records from Filemaker Pro 11 Advance Database.
But its showing error:
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.
Though I have set all Extend Privileges and gave it to user.
Please anyone can help me...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
尽管您提到您已经解决了这个问题,但每当我遇到此问题时,都是因为用于使用 PHP 登录的用户没有
fmphp
扩展权限集。首先知道您要在 PHP 中登录哪个用户。然后,在 FileMaker 中从菜单栏中选择“文件”>“管理”>“安全性”。查看“帐户”选项卡并记下分配给您的 Web 用户的权限集。单击“权限集”选项卡,然后双击列表中的此权限集。在右下角的扩展权限列表中,确保“通过 PHP Web 发布访问”旁边有一个复选框。
当您在那里时,请仔细检查您正在使用的密码。可能是您没有使用正确的扩展权限集,或者您没有使用正确的凭据登录。
Although you mention you've taken care of this, whenever I've come across this problem it's been because the user being used to log in with PHP doesn't have the
fmphp
extended privilege set.First know which user you're trying to log in as in PHP. Then, in FileMaker choose File>Manage>Security from the menu bar. Take a look at the Accounts tab and note the privilege set assigned to your web user. Click the Privilege Sets tab and double-click on this privilege set in the list. In the Extended Privilege list on the bottom right make sure there is a checkbox next to "Access via PHP Web Publishing".
While you're there, double-check the password you're working with. It has to be either you're not working with the right extended privilege set or you're not logging in with the right credentials.
我很确定您现在一定已经解决了这个问题,但如果您还没有解决,这里还有另一个建议。我今天遇到了同样的问题,并且设置了所有扩展权限。
问题出在 FileMaker API 上。确保所使用的 Php FM API 与托管数据库的 FileMaker 服务器版本相同。 FM Server 11 将需要为 FMS 11 发布的 API。我使用的是为 FMS 9 发布的最后一个独立 API,因此它不起作用。将 php 更新到 FMAPI 13 后,我能够连接并获取布局。
FileMaker API for PHP 包以 .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
I am pretty sure you must have resolved this by now but if you have not here is another suggestion. I had the same issue today and had all the extended privileges set.
The issue was with FileMaker API. Make sure the Php FM API being used is of the same version as the FileMaker server in which your db is hosted. FM Server 11 will require API released for FMS 11. I was using the last standalone API released for FMS 9 and hence it did not work. On updating php to FMAPI 13 I was able to connect and get the layouts.
The FileMaker API for PHP package was included as a .zip file in the following location:
For IIS (Windows):
drive:\Program Files\FileMaker\FileMaker Server\Web Publishing\FM_API_for_PHP_Standalone.zip
For Apache (Mac OS):
/Library/FileMaker Server/Web Publishing/FM_API_for_PHP_Standalone.zip
仔细检查您的连接参数,它应该看起来像这样......
Double check your connection params, it should look something like this...
首先,检查 PHP API 是否已安装并正在运行。
在服务器上,转到 http://localhost - 您将看到一个屏幕,告诉 PHP API 正在运行。如果您看到其他内容,您可能必须深入研究 PHP API 的安装 - 可能需要重新部署服务器并检查 PHP API。查看服务器是否通过了 Web 服务器测试。
接下来,检查登录到服务器的用户是否具有正确的权限集。我们通常为 PHP API 创建第二个帐户,其中的权限被正确设置为 MODIFY 记录和 VIEW 布局,当然还设置了 fmphp 属性。
如果仍然无法连接,请尝试从 Web 服务器执行操作,查看
First, check if the PHP API is installed and running.
On the server, go to http://localhost - You will see a screen telling the PHP API is running. If you see something else, you probably have to dig into the installation of the PHP API - possibly redeploy the server and checking off the PHP API. See that the server passes the web-server test.
Next, Check that the user that logs on to the server has the right privilege set. We usually create a second account for the PHP API, where the privileges are set correctly to MODIFY records, and VIEW Layouts, and of course have the fmphp attribute set.
If you still cannot connect, try from the web-server to do a
确保您在 URL 上获得“FileMaker 数据库服务器网站”登录页面(不含 /fmi/... 地址),我的问题是使用 IIS 用于另一个网站的另一个域/子域。
Make sure you get the "FileMaker Database Server Website" landing page on the url (without the /fmi/... address), My issue was using another domain/sub-domain that IIS was using for another website.
我知道这真的很老了。但除了 ISAPI 修复之外。我需要添加 URL 重写规则。模式需要是:
重写 URL 需要是:
完成这些后,PHP API 再次开始工作。
I know this is really old. But in addition to the ISAPI fix. I needed to add a URL rewrite rule. The pattern needed to be:
And the rewrite URL needed to be:
With those in place, the PHP API started working again.
经过几个小时的尝试,我找到了一个将 php 与 IIS 进行通信的解决方案...在 IIS 管理器上,只需添加到您的默认网站,在 ISAPI 过滤器中,然后添加此可执行文件...“C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\web-server-support\iis\isapi_redirect.dll" - 具有任意名称
after a few hours trying i found a solution to comunicate the php with the IIS... on your IIS manager, just need to add to your default web site, in ISAPI Filters, and add this executable... "C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\web-server-support\iis\isapi_redirect.dll" - with anuy name