【问题标题】:Frapi API throws 500 error for correct action url, otherwise throws ERROR_INVALID_ACTION_REQUESTFrapi API 为正确的操作 url 抛出 500 错误,否则抛出 ERROR_INVALID_ACTION_REQUEST
【发布时间】:2013-06-24 10:49:04
【问题描述】:

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

奇怪的是:如果我输入一个不存在的操作 url,我会收到 FRAPI“ERROR_INVALID_ACTION_REQUEST”错误。但是,如果我输入一个真实的操作 url,我会收到 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>

.htaccess 重写 /var/www/frapi/src/frapi/public

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

我怀疑是 RewriteRule 引起了问题,或者可能是 MySQL 连接,但我怀疑 SQL 连接会引发 500 错误。

非常感谢您的帮助!!

【问题讨论】:

    标签: api mod-rewrite virtualhost frapi


    【解决方案1】:

    通过查看 API 的其他部分,主要是设置的默认 API 调用,我们可以看到重写规则运行良好。

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

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

    虽然我无法直接回答您,但我建议您查看以下内容:

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

      error_log = /tmp/php_error_log

    现在,这并不能直接回答您的问题,但希望它能帮助您找到您正在寻找的答案:-)

    【讨论】:

    • 谢谢你,大卫!我在与它的斗争中精神疲惫,但你的建议会让我很好地调试这个问题!我会尽量记住报告我的发现,以防其他人遇到同样的问题。再次感谢。
    • 我能够添加模拟数据并使用 API 视图返回它。因此,看来问题确实围绕 MySQL 连接。我计划使用未存储在同一台服务器上的 MySQL 数据库。我可以访问它的所有信息。这在正确配置时应该是可能的,对吗?谢谢。
    猜你喜欢
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多