Symfony2与PHP 5.4内置服务器

时间:2012-03-02 18:24:56

标签: php

我正在尝试使用新的PHP 5.4及其内置服务器来使用Symfony2。 我下载了Symfony2并在我的服务器上解压缩并添加了这个router.php文件,如提到here

<?php

    if (isset($_SERVER['SCRIPT_FILENAME'])) {
        return false;
    } else {
        require 'Symfony/web/app.php';
    }

?>

网络服务器本身可行,因为如果我将router.php替换为phpinfo();之类的简单内容,则会将其输出正确,但使用提到的router.php脚本,该网站仍为白色/空白。如果我打开开发人员工具,则返回500 Server error

我像那样启动服务器:

/home/php54/php -S 0.0.0.0:88 router.php

在我的shell上,我没有输出错误消息。

2 个答案:

答案 0 :(得分:7)

  

/ home / php54 / php -S 0.0.0.0:88 router.php

您正在尝试在特权端口上运行服务器,因此要么更改端口,要么以特权用户身份运行(不推荐)。

此外,您已经修改了路由器脚本,我认为您已经搞乱了文件路径。您没有在命令中指定docroot,因此您当前的目录是您的docroot(因此它应该是您项目的web /目录)。但是在router.php中前路控制器的路径是错误的(Symfony/web/app.php)。

你应该从我的博文中仔细阅读说明。所以:

  • 将当前目录更改为项目的web /目录,
  • 下载路由器脚本:wget https://raw.github.com/gist/1507820/b9583ab7f7f5e0e4e29806c38c6c361220b6468f/router.php
  • 运行服务器:php -S 0.0.0.0:8000 router.php

这应该有用。

您还可以尝试从my pull request添加补丁,这会添加只运行内置PHP服务器的简单命令。

答案 1 :(得分:0)

我没有方便的PHP 5.4环境,但是加载app_dev.php而不是app.php,因为调试将被设置为true并且将报告错误。