Symfony 4.x公共目录重命名为public_html

时间:2019-02-07 15:29:15

标签: php symfony symfony4

在将目录重命名为web主机的public_html时,我有些费劲。 根据最新的tutorial,我试图成功重命名它,但是每次当我尝试使用控制台命令运行本地服务器时,都会出现错误: $ host -t srv _xmpp-server._tcp.jabber.at _xmpp-server._tcp.jabber.at has SRV record 300 0 5269 xmpp.jabber.at.

我确定我的代码做错了什么。但是我不知道在哪里。我是Symfony的初学者。

这是我来自composer.json的代码:

[ERROR] The document root directory ".../.../App/public" does not exist.

我知道这有什么问题吗? 感谢帮助。

2 个答案:

答案 0 :(得分:0)

由于index.php文件是第一个(由网络服务器运行的)文件,您应该只需要将class Program { static ThreadStart ThreadStart = new ThreadStart(Counter); static Thread Thread = new Thread(ThreadStart) { Priority = ThreadPriority.Highest }; static void Main(string[] args) { Console.WriteLine("INSTRUCTIONS - You have 30 seconds to answer each question correctly, once you get the question right the next question will appear," + "if you get a question wrong the console will display INCORRECT and you will have until the end of the 30 seconds to answer it correctly."); //These are the instructions Thread.Start(); q1(); Console.WriteLine("Press any key to continue"); Console.ReadLine(); } static Stopwatch timer = Stopwatch.StartNew(); static void Counter() { if(timer.ElapsedMilliseconds < 30000) { Thread.Sleep(1000); Counter(); } else { Console.WriteLine("Too late"); Environment.Exit(0); } } static void q1() //Return type is a string as a string prompting the user will ask them to try again { Console.WriteLine("1+1"); //This is the question int answer = Convert.ToInt32(Console.ReadLine());// Can't apply int to a readline, so convert the useres input to an int so you can apply an int variable if (answer == 2) //If the users input is equal to 2 { Console.WriteLine("Correct");//Tells the user that they are correct Thread.Abort(); } else { Console.WriteLine("Try again"); q1(); } } } 目录重命名为public即可使用,并且无需更改composer.json中的任何内容(尽管这不影响至少不运行任何composer脚本的框架代码,但我不知道。)

我刚刚创建了一个新的Symfony 4.2.3项目,除了重命名目录外,仅做其他事情,并且运行(大多数)bin / console命令不会受到影响。

内置服务器会出现问题,但是您可以通过以下命令告诉它哪个目录用作docroot:

public_html
  

[确定]服务器在http://127.0.0.1:8000上监听

不需要更改composer.json。

答案 1 :(得分:0)

如果代码段准确地表示您在composer.json中拥有的内容,那么我注意到它的格式不正确。在“额外”中,在“ symfony”键的值之后,需要放置一个分隔符“”,然后在下一行中可以添加更多键:值对。 AS:

"extra": {
    "symfony": {
        "allow-contrib": false,
        "require": "4.2.*",   
    },
    "public-dir": "new_public_html_dirname"
}

格式不正确的json文件将阻止其执行。希望对您有所帮助。

运行作曲家更新很重要。

composer update