Forge + Git + Laravel 问题

Posted

技术标签:

【中文标题】Forge + Git + Laravel 问题【英文标题】:Forge + Git + Laravel issue 【发布时间】:2015-12-07 11:32:40 【问题描述】:

我用 Bitbucket 设置了 Laravel forge。

我向 bitbucket 推送了一些代码,它转储了一个错误,指出从 bitbucket 获取内容时出现问题。所以我打开了我的网站,看看它是否会出现任何错误。

网站无法正常加载,结果发现其中一个名为 Display.php 的文件已重命名为 display.php

这怎么可能发生?此文件位于public 目录之外。

我查看了日志以查看是否有其他人连接到服务器(认为它已被黑客入侵),但日志中没有任何可疑之处。

有没有人遇到过类似的问题?

【问题讨论】:

您是否有可能在将文件提交到存储库后重命名了该文件?在某些操作系统甚至 IDE 上,将文件从“display.php”更改为“Display.php”可能不会注册,因此当另一个用户/进程从 repo 中提取代码时,实际文件名会有所不同。 您的本地计算机是 Windows 还是 Mac OS?因为这些操作系统不区分大小写,当您部署到区分大小写的服务器(例如 Linux)时会导致问题。 感谢大家的回复。问题在于命名空间。显然该文件被命名为小写,而我使用的是大写的类名,但它工作了一段时间,直到我通过 Composer 导入了 Facebook SDK,由于某种原因,这改变了命名空间在我的代码上的工作方式......奇怪。 有可能是你不小心给了这个名字,因为你的操作系统可能是windows,windows没有抱怨小写的名字,所以你没有意识到你的错误,但是在你上传之后代码到服务器,linux 不高兴。这是一个常见的错误。 我正在使用 OS X,我刚刚发布了发生的事情......(这很奇怪) 【参考方案1】:

整理好了。

问题在于,最初它被命名为display.php(一个错字)并且运行良好,直到我通过 composer 安装了 Facebook SDK。

我感觉这与 namespacing (PSR) 的类型有关。

如果我删除 Facebook SDK,那么 display.php 可以正常工作,否则会引发错误。

【讨论】:

以上是关于Forge + Git + Laravel 问题的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Forge 无法运行 sudo 命令

Laravel PDOException SQLSTATE[HY000] [1049] 未知数据库 'forge'

Laravel Forge:未找到存储库

使用 nginx 在 laravel forge 上集成 Laravel 5.2 wordpress

在 Laravel forge 上存在类/服务识别问题

在 forge 上安装 Laravel 5.2 时出错