【问题标题】:Accessing laravel on local without IP address在没有IP地址的本地访问laravel
【发布时间】:2019-12-07 14:17:15
【问题描述】:

我是 web 开发的新手,并在 windows 上完成了一些关于 xampp 的实践项目。 在没有使用 laravel 的情况下,我曾经通过键入“localhost/myproject”来访问我的网站,但在 laravel 中它不起作用。

我有几个问题 -

  1. php artisan serve在内部做什么?

  2. 运行命令 php artisan serve 后为什么我们只能通过 '127.0.0.1:8000/myproject' 访问我们的项目,而不是为什么我们不能使用 'localhost:8000/myproject'。

【问题讨论】:

  • 尝试使用命令运行:php -S localhost:8080 -t public_html/
  • 哪个 laravel 版本?

标签: php laravel


【解决方案1】:

artisan serve 命令使用the Built-in web server from PHP itself

您不能使用 localhost 的原因可能是您的操作系统的错误。您必须将 localhost 别名添加到您的主机文件中,该文件可以位于不同的位置,具体取决于您的操作系统。

【讨论】:

    【解决方案2】:

    您可以在没有 IP 地址的情况下访问您的项目,例如 localhost/myproject/public,无需执行任何操作,但请记住每次必须输入 public 字词。如果想从 localhost 示例 localhost/myproject 中删除公共单词并像普通 php 项目一样访问,请执行以下简单步骤。

    1. 从您的 laravel 项目的 public 目录中剪切文件(index.php、.htaccess 和 robots.txt)并将文件粘贴到您的项目的根目录。
    2. 现在打开 index.php 文件并更改如下行并保存。

    require __DIR__ . '/bootstrap/autoload.php';

    $app = require_once __DIR__ . '/bootstrap/app.php';

    现在您无需 IP 地址即可轻松访问您的项目 :)

    为了更好地理解,您可以观看此 YouTube 视频。 (孟加拉语) https://www.youtube.com/watch?v=PvuI1UiYIo4

    【讨论】:

    • 这是一种糟糕的工作方式。所有公共文件应始终位于您的public/ 文件夹中。你所描述的非常不安全!
    • 能否请您给出解释或实际示例为什么它不安全!
    • 我没有提到所有文件。只需index.php.htaccessrobots.txt。如果只移动index.php 文件并重新链接autoloader.phpapp.php,它将起作用。您能否给出一个解释或实际示例为什么它不安全! @Jerodev
    • 因为如果您将 Web 根目录设置为应用程序的根目录,则所有配置和环境文件都是公开可用的。此外,这不是 Laravel 应该被使用的方式。
    • 这是消除每次php artisan serve 在本地开发中运行的麻烦的最佳方式,也是我发现在不更改共享主机上的任何内容的情况下部署应用程序的方式(NB - 最大共享主机提供商禁用ssh 访问以运行 artisan 命令)。我没有发现任何安全问题,并且所有环境和配置文件都不公开。 stackoverflow.com/questions/28364496/…
    猜你喜欢
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2021-04-07
    • 2023-04-11
    相关资源
    最近更新 更多