【问题标题】:How to run a Laravel application that was not created by me on my personal server如何在我的个人服务器上运行不是我创建的 Laravel 应用程序
【发布时间】:2018-05-23 20:28:48
【问题描述】:

我需要更改不是我创建的 Laravel 应用程序的一些前端功能。该应用程序是使用 Laravel 创建的,我不确定如何启动和运行它,因此我可以更改前端代码。我得到了源文件的副本。然后我将该源文件放入我的xampp/htdocs 文件夹中。我启动 Xampp,在 Gitbash 中打开文件夹并输入 PHP artisan serve。该应用程序似乎没有运行。

我有什么遗漏或做错了吗?请考虑到我没有创建此应用程序,供您参考,我确实知道如何在本地创建和运行 Laravel 应用程序,但我想知道如果不是我个人创建的过程是否有所不同?

感谢大家帮助我,我感谢你们个人和这个社区。

这是我在 Gitbash 中收到的错误:

PHP 警告: 要求(C:\xampp\htdocs\appoets\bootstrap/../vendor/autoload.php): 无法打开流:第 17 行的 C:\xampp\htdocs\appoets\bootstrap\autoload.php 中没有这样的文件或目录 警告:需要(C:\xampp\htdocs\appoets\bootstrap/../vendor/autoload.php): 无法打开流:中没有这样的文件或目录 C:\xampp\htdocs\appoets\bootstrap\autoload.php 在第 17 行

PHP 致命错误:require():需要打开失败 'C:\xampp\htdocs\appoets\bootstrap/../vendor/autoload.php' (include_path='C:\xampp\php\PEAR') 在 C:\xampp\htdocs\appoets\bootstrap\autoload.php 第 17 行 致命错误:require():无法打开所需的 'C:\xampp\htdocs\appoets\bootstrap/../vendor/autoload.php' (include_path='C:\xampp\php\PEAR') 在 C:\xampp\htdocs\appoets\bootstrap\autoload.php 在第 17 行

请为我解决这个问题。如果你遇到同样的错误。在 Gitbash 中打开正确的文件路径,然后运行“composer install”

修复后又出现了一个问题。我在浏览器中加载 Laravel,它给出了一般错误消息,没有错误号或任何内容。要解决此问题,请转到您的 env.example 文件并重命名它。 .env 然后转到终端或命令行并运行 php artisan key:generate。在此点击后保存所有并刷新。一切都应该修复!

【问题讨论】:

  • 代码是别人写的还是你写的应该没有什么不同。只是为了让我们获得更多信息:是什么让您认为应用程序没有运行?运行php artisan serve 时是否遇到错误?还是只是在浏览器中出现“无法连接到主机”错误?
  • @HPierce 完全正确:)

标签: php laravel laravel-5


【解决方案1】:

你得到的错误是因为你没有安装你的作曲家依赖项。在运行应用程序之前使用 composer 安装它们:

composer install

这是提供调用堆栈之前的旧答案。我认为这对你来说仍然是有趣的背景信息,但不是立即相关的。

看起来您正在运行两个 Web 服务器,所以我怀疑您只是 对应用程序的运行位置感到困惑。

XAMPP 随 Apache 一起提供。我希望运行它会启动它 Web 服务器在端口 80 上,这是 Web 浏览器使用的默认端口。 因此,如果您尝试访问应用程序 http://localhost,你正在访问这个网络服务器,它可能有一个 不同的(未设置的)应用程序。

运行php artisan serve 将启动第二个网络服务器,利用 PHP 的内置网络服务器。根据the documentation, 此命令将使用的默认端口是 8000:

默认情况下,HTTP 服务器将侦听端口 8000。但是,如果 端口已在使用中,或者您希望为此提供多个应用程序 方式,您可能想要指定要使用的端口。只需添加 --port 论据:

因此,您可以在没有 XAMPP 的情况下访问应用程序 网址:http://localhost:8000

尝试两个网址。

请注意,php artisan serve 不会启动 MySQL 服务器。你 如果您使用的是 数据库。

【讨论】:

  • 所以一旦我得到依赖项,我只需要将现有文件复制到新创建的项目中?现在我正在制作一个新的 laravel 应用程序,然后我将导入他给我的文件。这行得通吗?因为我创建的版本已经安装了依赖。
  • 如果我理解正确,您打算生成一个新的 Laravel 应用程序并将现有的 Laravel 项目文件复制到其中?我肯定会反对它。你得到的文件可能是在不同的 Laravel 版本上构建的。 composer install 在正确的项目中应该为您提供所需的任何正确的 Laravel 版本(除其他外) - 无需手动复制。
  • 老兄,我爱你....成功了!请问你是怎么知道这样做的,或者你从哪里学到的?您是否曾经遇到过同样的问题?
  • @Russell,很高兴听到它 :-) 我在使用 PHP 进行软件工程和使用 composer 构建应用程序的几年中学会了它。但我肯定参加了一个聚会,其中一些前端开发人员遇到了这个确切的问题。你当然并不孤单。祝你好运!
【解决方案2】:

问题清单

 1. composer update --no-scripts  or composer install
 2. php artisan key:generate 
 3. rename example.env to .env
 4. Change database credentials, set debug mode! Change app url
 4. php artisan migrate(make sure u have the database running in the server)
 5. php artisan config:clear
 6. you are good to go!

【讨论】:

  • 我会担心composer update...它将重新解决依赖关系并更新锁定文件。我不希望前端开发人员突然介入并更改我的依赖项的版本,而无法从后端的角度测试自己。认为这可能不是问题。
猜你喜欢
  • 1970-01-01
  • 2019-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多