Zend Framework 2.4:重定向导致服务器上的空白页,在本地工作


Zend Framework 2.4: Redirect results in blank page on server, works locally

简介

  • 我和我的团队是第一次使用 Zend Framework 2.4.2
  • 我们的目标是构建一个简单的门户,其中包含授权模块和基于表或列表的内容
  • 我们已经为此工作了几个星期,但还没有找到解决问题的方法

问题

一般来说,Zend在使用XAMPP Apache的本地机器上完美运行。但是,将其部署到远程服务器上时,除了重定向之外,一切正常。每当有这样的命令时

      return $this->redirect()->toRoute('foo');

浏览器只显示一个空白页(尽管它在 XAMPP 上完美重定向)。

系统

  • 我们将Zend Skeleton应用程序与Album Modul一起使用。我们还实现了一个授权模块,其工作原理非常相似,并以相同的方式使用重定向。
  • 在本地,我们使用 XAMPP 版本 1.8.3 和 PHP 5.5.15。
  • 我们在两台服务器(1&1和Strato)和不同的PHP版本(5.3,5.5,5.6)上测试了我们的应用程序。所有配置都会导致相同的行为(重定向时为空白页)。

我们排除了什么

  • 可以排除区分大小写和路径相关的原因。当 Zend 找不到路径时,它会显示一条错误消息。
  • 已经测试了不同的 PHP 版本,因此版本可能不是原因。我们不能对配置说同样的话。
  • 可以排除服务器上的访问权限是原因。我们在这里尝试了不同的配置。

我们对重定向和服务器配置进行了大量研究,但似乎没有其他人遇到此问题。事实上,没有人谈论服务器上的问题,只是框架的一般问题。我们感谢每一个想法和想法。

我终于找到了解决方案!

我需要复制我的本地php.ini文件并将其粘贴到Zend应用程序的公共/文件夹中。服务器的行为方式是加载标准 php.ini如果没有。现在它使用 php.ini 和正确的设置。显然,Zend的重定向需要一些设置才能工作。当然,我不得不注释掉 php.ini 副本中的所有本地路径。不过,感谢您的投入!