如何在子目录中部署Symfony?

Ste*_*roz 4 web-deployment subdirectory symfony

我的网站已准备好部署,我正在尝试在线设置它.

一些信息:

  • 主持人是OVH.
  • 它不允许SSH,我必须用FTP发送我的文件.也没有命令行.
  • 我希望能够在子目录中设置网站:/www/test现在(我当前的网站仍在/www).

问题:

当我打开URL时my-website.com/test,Symfony异常告诉我No route found for "GET /test/",这显然意味着Symfony不知道它在子目录中.

我该怎么说呢?


编辑:

我刚刚意识到它在我访问时起作用了my-website.com/test/web.

Fra*_*eni 7

在这里,我写到了这一点:https://www.refactory-project.com/2015/11/30/install-symfony-app-in-a-subfolder-of-an-existing-site/

上传应用程序部分

首先,在站点根目录的同一级别上传应用程序文件夹:

[ftproot]
-- public_html
---- ...
---- ...
-- symfonyapp
---- app
---- bin
---- src
---- vendor
---- web
------ app.php
------ app_dev.php
------ ...
---- composer.json
---- composer.lock
Run Code Online (Sandbox Code Playgroud)

移动Web部件

将"web"文件夹的内容移动到所需的子文件夹,即"myapp".

[ftproot]
-- public_html
---- ...
---- ...
---- myapp
------ app.php
------ app_dev.php
------ ...
-- symfonyapp
---- app
---- bin
---- src
---- vendor
---- composer.json
---- composer.lock
Run Code Online (Sandbox Code Playgroud)

让网络知道应用程序在哪里

编辑文件app.php和app_dev.php并插入新的应用程序位置.

require_once __DIR__ . '/../../symfonyapp/app/bootstrap.php.cache';
require_once __DIR__ . '/../../symfonyapp/app/AppKernel.php';
Run Code Online (Sandbox Code Playgroud)

让应用程序知道如何调用Web文件夹

使用新的Web文件夹名称编辑文件composer.json

{
    ...
    "extra": {
        ...
       "symfony-web-dir": "../public_html/myapp"
    }
}
Run Code Online (Sandbox Code Playgroud)