【问题标题】:Drupal 7 forms don't work after migration. Form fields become empty after submittingDrupal 7 表单在迁移后不起作用。提交后表单字段为空
【发布时间】:2013-11-14 20:56:18
【问题描述】:

我对 Drupal 站点(代码和数据库)进行了完全迁移。

乍一看网站工作正常。所有页面和页面内容都是完全可用的。

但是所有的 POST 表单都不起作用。我试图将测试消息放入形成钩子。表单生成工作正常,但验证和发送钩子都没有被调用。

此外,所有标准表格(例如注册表单)也不起作用。

在提交表单后字段变为空,没有任何错误或警告。

看起来环境之间的所有差异是:

  1. PHP 版本。 (从 PHP 5.4 到 PHP 5.5)
  2. 服务器路径不同
  3. 另一个域名(dev/staging)

但是,我不确定。我可能错过了其他东西。

有没有人知道什么会导致这个问题?

【问题讨论】:

    标签: php forms drupal drupal-7


    【解决方案1】:

    嗯,问题的原因很简单,同时也很混乱。

    这不是 Drupal 相关的问题,它是 Apache Web Server 的非常奇怪的行为。

    在 Apache 配置中禁用了 mod_rewrite(真丢脸)。但是,尽管如此,Apache 仍在管理所有重定向,因此页面返回了正确的内容,但带有 404 响应代码!它会导致空 POST,从而导致表单损坏。

    我仍然无法理解为什么 Apache 会这样... 总之,问题解决了。

    【讨论】:

    • 我刚刚遇到了同样的问题。非常感谢你发布这个。在没有启用mod_rewrite 的情况下,页面仍然可以正确加载“漂亮” URL,这太奇怪了。真的让我失望了。
    • 非常感谢!这让我很伤心,我失去了几天,因为我将它归咎于 PHP 7.2,而不是 Apache。
    猜你喜欢
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多