我正在尝试让 Symfony2 标准发行版在我的 Windows 7 笔记本电脑上运行。
我已经安装了 Apache2(版本 2.2.22)、PHP 5.3.10 和 MySQL 5.5.22。
我有一个演示 PHP 脚本(php_info() 和一个数据库调用),它运行良好。
我可以获得开始页面(http://localhost/Symfony/web/config.php)来显示,但我无法得到http://localhost/Symfony/web/app_dev.php/执行。
返回的错误是错误 101(net::ERR_CONNECTION_RESET):连接已重置。
如果我安装 XAMPP,它就可以工作,但我不想使用 XAMPP。我希望能够单独安装和配置组件。
这为什么不起作用?
我是否遗漏了一些 Apache 设置?
答案1
这是一个超级奇怪的bug:
https://bugs.php.net/bug.php?id=60758
https://github.com/symfony/symfony/issues/3216
TL;DR 您的 git 在拉取时将行尾转换为 CRLF,这使得供应商文件 TwigEngine.php 正好是 4096 字节,从而导致 PHP 在 include/require 时崩溃。
解决方法是删除供应商(或仅删除 symfony)。将 git 配置设置为不转换行尾:
git config --global core.autocrlf input
并安装供应商。