【问题标题】:"false" showing up mysteriously in terminal?“假”在终端神秘出现?
【发布时间】:2018-02-17 15:10:58
【问题描述】:

终端给我一个打印“假”的问题 此外,“false”显示在 Laravel 输出中的 html 视图之前。 我在 codecourse 的 Classified's Site tutorial 上遇到了这个问题 知道如何补救吗?

更多细节:

我认为造成这种情况的原因是我将 mysql 的 config/database.php 从 strict = true 更改为 false(后来又改回来了)。 更改 mysql strict = true 后,我重新加载了 vagrant 并执行了 migrate:reset 和 migrate 然后重新设置数据库。然而,当我在终端中运行命令时(例如 php artisan migrate),在迁移发生之前,'false' 会显示在下一行。烦人的是,我的网站在视图顶部显示“假”,在编写源代码中的 html 文档类型之前,我查看了路线和视图,看不到假是如何在那里蔓延的(特别是因为我改变了它回归真实!)

知道如何补救或建议尝试什么吗?

查看下面的示例终端代码

vagrant@homestead:~/code/fresh$ php artisan migrate 错误迁移:2018_02_16_130447_create_listings_table 迁移:2018_02_16_130447_create_listings_table vagrant@homestead:~/code/fresh$ php artisan make:controller Listing\ListingController falseController 创建成功。 vagrant@homestead:~/code/fresh$

感谢 Sam 的回答,我不小心在我的数据库配置文件第一行的 php 声明的开头添加了“false”

【问题讨论】:

  • 这可能是你在某处添加的东西——不管你是否记得。您是否对启动文件(例如 start.php 或 ioc.php)进行了更改?你有修订历史的机会吗?
  • 看看 AppServiceProvider.php 和 routes.php 文件..也许你忘了那里的东西

标签: mysql laravel terminal homestead


【解决方案1】:

PHP 文件可以包含非 php 并保持有效,即以下内容有效:

false <?php echo '<h1>Hello World!</h1>'; ?>

这将产生以下内容:

false <h1>Hello World!</h1>

Laravel 配置文件是简单的 PHP 文件,它返回一个数组,该文件包含在框架中,应用程序配置由数组中的值填充。您看到的行为表明您的应用程序中有一个文件包含不应该存在的内容,并且根据问题发生时您正在执行的操作,它可能是您的配置文件之一。

从项目根目录运行以下命令:

$ grep -r "false" config

然后查看每个“假”实例。您很可能会发现在您的 config/database.php 文件的顶部,您错误地将 false 放在了开始标记 &lt;?php 之前。

为了将来参考,如果您使用版本控制,则更容易确定此类问题的原因,因为您可以逐步检查自问题开始以来所做的每项更改。 GitHub 有一个很棒的桌面客户端,使版本控制变得非常容易:-)

【讨论】: