Laravel 5.5 项目下载文件而不是在浏览器中打开它们 PHP 7.1 MAC

Posted

技术标签:

【中文标题】Laravel 5.5 项目下载文件而不是在浏览器中打开它们 PHP 7.1 MAC【英文标题】:Laravel 5.5 Project Download File Insted Of Opening Them In Browser PHP 7.1 MAC 【发布时间】:2020-06-28 10:35:13 【问题描述】:

我正在 Windows 上开发 laravel 5.5 项目 php 7.1.32,它运行良好。现在我转移到 Mac OSX 我将整个项目从 windows 复制到 mac,而不是在浏览器中打开文件,而是下载文件(下载)。当我将公用文件夹打到地址栏时。下载的文件内容如下

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

define('LARAVEL_START', microtime(true));

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels great to relax.
|
*/

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

/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

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

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

$response->send();

$kernel->terminate($request, $response);

【问题讨论】:

windows it works fine你在mac中遇到什么错误? 当我点击 url localhost/project-name/public 时它没有打开文件。而不是打开它下载文件 @DilipHirapara 刚刚更新了问题,所以它会更容易解释 【参考方案1】:

您不能只点击公共文件夹并期望通过 php 运行您的应用程序。首先应该为应用服务。

您可以在应用程序基目录上使用带有php artisan serve 的phps 内置网络服务器,或者您可以使用像apache 或nginx 这样的网络服务器。

如果您已经在为您的应用程序提供服务,那么您的服务器配置存在错误配置,您应该提供更多信息..

顺便说一句,我建议宅基地。

【讨论】:

我知道 PHP artisan serve 在 localhost:8000 上运行我的项目,但我所有的 URL 都是 localhost/project/public 而不是 localhost:8000/login

以上是关于Laravel 5.5 项目下载文件而不是在浏览器中打开它们 PHP 7.1 MAC的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Azure blob 文件下载到下载文件夹中,而不是在浏览器中

如何让文件下载而不是在浏览器中打开?

如何下载 MP4 文件而不是在浏览器上播放?

laravel 项目本地版本为5.5,线上mysql 为5.7.21版本,执行严格模式

laravel 5.5 《电商实战 》安装应用

访问服务器,但是总下载文件,而不是在浏览器中显示