Frapi API为正确的操作url抛出500错误,否则抛出ERROR_INVALID_ACTION_REQUEST

时间:2013-06-27 04:36:13

标签: api mod-rewrite virtualhost frapi

我一直在尝试在AWS上配置过去三天的FRAPI框架。我已经配置了管理面板而没有错误,但由于某种原因,API部分不起作用。但是,我可以访问API主页,该主页将拉动在管理面板中创建的操作。 (见http://www.serverstars.net/

这是奇怪的事情:如果我输入一个不存在的动作网址,我会收到FRAPI“ERROR_INVALID_ACTION_REQUEST”错误。但是,如果我输入一个真实的动作网址,我会收到500错误。 (见http://www.serverstars.net/get/banned/36.json

Api虚拟主机配置:

<VirtualHost *:80>
    ServerName serverstars.net
    ServerAlias www.serverstars.net
    ServerAdmin admin@api.frapi
    DocumentRoot /var/www/frapi/src/frapi/public

    <Directory /var/www/frapi/src/frapi/public>
        AllowOverride All
        Order deny,allow
        Allow from All
    </Directory>
</VirtualHost>

/ var / www / frapi / src / frapi / public的

RewriteEngine On
RewriteRule ^.*$ index.php [QSA,NC,L]

我怀疑RewriteRule导致问题,或者MySQL conn,但我怀疑SQL连接会引发500错误。

非常感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

通过查看API的其他部分,主要是设置的默认API调用,我们可以看到重写规则正常工作。

  

http://www.serverstars.net/collection/foo.json

该问题可能存在于从mysql查询中选择数据并将其放入 $ this-&gt; data 变量的模型中,或者问题在于PHP和MySQL之间。

虽然我不能直接给你答案,但我建议你看看以下内容:

  1. 通过查看:http://frapi.github.io/installing/index.html#frapi.installing.configuring.apache
  2. ,确保正确设置了所有权限
  3. 收到mysql查询后直接打印结果并使用die()(是的,尝试打印和模具调试),
  4. 禁用 集合控制器中,尝试删除MySQL查询并输入要返回的模拟变量。这将确认重写规则是否到达您的控制器,
  5. 如果在删除SQL查询及其结果后正确返回模拟变量,请查看调试SQL查询返回的值以及如何从中查询相关数据。
  6. 如果全部失败,请确保您在apache端有日志,并查看PHP错误日志。如果您没有启用php-error-logs,请将其添加到您的php.ini:

    error_log = / tmp / php_error_log

  7. 现在,这并不能直接回答您的问题,但希望它可以帮助您找到您想要的答案: - )