Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将Symfony3应用程序从开发服务器移动到生产服务器时出现问题_Php_Apache_Webserver_Symfony_Dev To Production - Fatal编程技术网

Php 将Symfony3应用程序从开发服务器移动到生产服务器时出现问题

Php 将Symfony3应用程序从开发服务器移动到生产服务器时出现问题,php,apache,webserver,symfony,dev-to-production,Php,Apache,Webserver,Symfony,Dev To Production,我已经使用symfony3创建了一个web应用程序。在开发环境中,我总是使用Symfony的内置服务器,只需使用命令“phpbin/consoleserver:run”。然后可以通过“localhost:8000”访问该应用程序 我还使用控制器中的注释(如“/”、“/about”等)定义了路由。这些页面可以通过“localhost:8000/”和“localhost:8000/about”访问。页面上指向“/contact”或“/users/1”等路由的其他链接也能很好地工作。它们将链接到“lo

我已经使用symfony3创建了一个web应用程序。在开发环境中,我总是使用Symfony的内置服务器,只需使用命令“phpbin/consoleserver:run”。然后可以通过“localhost:8000”访问该应用程序

我还使用控制器中的注释(如“/”、“/about”等)定义了路由。这些页面可以通过“localhost:8000/”和“localhost:8000/about”访问。页面上指向“/contact”或“/users/1”等路由的其他链接也能很好地工作。它们将链接到“localhost:8000/contact”和“localhost:8000/users/1”

现在,我将应用程序移动到生产服务器。在生产服务器上安装了Apache2,其他一些人已经在其上开发了Symfony应用程序。他们的应用程序可以通过类似“example.com/apps/app1/web/app_dev.php”的url访问,并且他们应用程序上的链接已经自动添加了“example.com/apps/app1/web/app_dev.php”。因此,当用户单击链接到“/contact”的按钮时,链接将指向“example.com/apps/app1/web/app_dev.php/contact”

现在,当我将名为“app2”的应用程序移动到“example.com/apps/”目录下时,我可以访问“example.com/apps/app2/web/app_dev.php”,无需任何配置,就可以完美地查看我的主页。Apache可以自动获取我的代码。但是,主页上的所有链接都将指向“example.com/contact”,而不是“example.com/apps/app2/web/app_dev.php/contact”

有人能帮我吗?我对Symfony和Apache很陌生

或者也许我以一种完全错误的方式从开发环境迁移到生产环境?将Symfony3应用程序移动到生产服务器有什么新的想法或正确的方法吗


非常感谢

您是否正确配置了apache?您可能需要将virtualhost配置添加到服务器。您可以在上找到它的详细信息。

我终于解决了这个问题。我应该在所有细枝模板中使用href=“{path('about')}}”,而不是href=“/about”。谢谢大家

我以前读过这一页。我还看到了“最低配置”部分。但是,在生产服务器上,我们不使用virtualhost。其他人的应用程序只能神奇地工作。我也不允许更改Apache配置文件。我想我的代码一定有问题吧?听起来你需要和你的DevOps人谈谈。服务器设置没有什么神奇之处。这是很多非常具体的配置。如果存在某种开放式逻辑,它可能会被用于恶意目的,应该进行更改。在这两种情况下,最初听起来都不像你对代码做了什么错误。你的问题中没有你的问题。我终于解决了这个问题。我应该在所有细枝模板中使用href=“{path('about')}}”,而不是href=“/about”。谢谢大家!