Ala*_*orm 4 php symfony php-builtin-server
我刚刚创建了一个新的Symfony 3.4应用程序。根据Symfony的文档,我可以通过运行以下命令使用PHP的内置Web服务器对应用程序进行服务器处理
php bin/console server:start
Run Code Online (Sandbox Code Playgroud)
但是,这似乎是在开发模式下运行该应用程序。哎呀,异常打印已打开,显示开发人员工具栏,等等。
有没有办法在Symfony的生产模式下使用内置的Web服务器?这不是将应用程序发布给公众(这是愚蠢的),而是因为我要测试一个问题,可能只会在生产模式下出现。
可以使用以下命令直接运行PHP的内置Web服务器,而不是symfony的server命令:
php -S localhost:8000 -t web/ app.php
Run Code Online (Sandbox Code Playgroud)
这假定您当前在项目目录中,并且该web/目录托管您的app.php文件。
-t表示文档根。在此示例中为web/。
app.php 指定为路由器脚本,它将处理您的请求。
现在,当您转到localhost:8000它时,它将以Production模式服务您的Symfony项目。
这不会在后台运行服务器,但是您可以轻松地在google中搜索操作方法。
如果您使用 Symfony 4,您需要为文件all中的环境启用服务器包bundles.php。默认情况下,它仅在dev.
<?php
return [
// ...
Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['all' => true],
];
Run Code Online (Sandbox Code Playgroud)
是的,您app.php在浏览器中输入的网址上指定,所以像这样
mysite.dev/app.php/login
Run Code Online (Sandbox Code Playgroud)
或者
localhost:8000/app.php/login
Run Code Online (Sandbox Code Playgroud)
默认情况下它会自动使用app_dev.php