我正在尝试使用带有新的PHP 5.4及其内置服务器的Symfony2。我下载了Symfony2,并将其解压缩到我的服务器上,然后添加了这个router.php文件,如下所述:
<?php
if (isset($_SERVER['SCRIPT_FILENAME'])) {
return false;
} else {
require 'Symfony/web/app.php';
}
?>
Web服务器本身可以工作,因为如果我用phpinfo();
之类的简单东西替换router.php
,它会正确输出,但使用提到的router.php
脚本,站点将保持白色/空白。如果我打开开发人员工具,它会返回500 Server error
。
我这样启动服务器:
/home/php54/php -S 0.0.0.0:88 router.php
在我的shell上,我没有错误消息的输出。
/home/php54/php-S 0.0.0.0:88 router.php
您正试图在特权端口上运行服务器,所以请更改端口或以特权用户身份运行此服务器(不推荐)。
另外,你修改了路由器脚本,我认为你把文件路径搞砸了。您没有在命令中指定docroot,所以您当前的目录是您的docroot(所以它应该是您项目的web/目录)。但是到router.php中前端控制器的路径是错误的(Symfony/web/app.php
)。
你真的应该认真遵循我博客文章中的指示。因此:
- 将当前目录更改为项目的web/目录
- 下载路由器脚本:CCD_ 6
- 运行服务器:
php -S 0.0.0.0:8000 router.php
这应该行得通。
您也可以尝试我的pull请求中的补丁,它添加了一个只运行内置PHP服务器的简单命令。
我手头没有php 5.4环境,但加载app_dev.php而不是app.php,因为调试将设置为true,并且会报告错误。