【问题标题】:Fat Free Framework on Php 5.6 using $HTTP_RAW_POST_DATA在 PHP 5.6 上使用 $HTTP_RAW_POST_DATA 的 Fat Free 框架
【发布时间】:2016-07-09 18:05:20
【问题描述】:

我在 Php 5.6 上使用 Fat Free Framework 3.5 并且无法摆脱错误:

致命错误:自动填充 $HTTP_RAW_POST_DATA 是 已弃用,并将在未来的版本中删除。为了避免这种情况 警告在 php.ini 中将“always_populate_raw_post_data”设置为“-1”并使用 改为 php://input 流。

在共享主机上,我无权访问 php.ini 文件。

Google 告诉我可以将其添加到我的 .htaccess

<IfModule mod_php5.c>
    php_flag always_populate_raw_post_data -1
</IfModule>

但这并没有做任何事情。

我已经更改了

的所有实例
$f3->get("BODY")

file_get_contents('php://input')

但这似乎也无济于事。

什么给了?我该如何解决?

【问题讨论】:

  • This answer 说原因是一个空的 POST 并添加了一个填充参数。
  • 不,这不是问题所在。我在请求正文中发布 JSON。如果我将 Godaddy 更改为 php v5.5 而不是 5.6,一切正常。
  • 这不是 Fat Free Framework 的问题。每当您使用像您这样的 php.ini 设置向 PHP 5.6 发送 JSON AJAX 请求时,您都会得到类似的响应。您需要更改 php.ini 或使用 POST 值在 AJAX 中发送数据。或者,如果它是一个生产环境,你应该隐藏所有错误(你应该在 prod 上做任何事情):secure.php.net/manual/en/function.error-reporting.php

标签: php fat-free-framework


【解决方案1】:

获取最新的dev-branch 并尝试禁用启动错误检查以消除此错误消息。也许它有帮助。 按照这里的示例:https://github.com/bcosca/fatfree-core/pull/125

【讨论】:

    【解决方案2】:

    答案似乎是:不要使用 godaddy 托管。我切换到 Heroku php 实例,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-08
      • 2015-10-30
      • 2013-07-16
      • 2017-12-16
      • 2011-06-10
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多