禁止在 heroku 中托管 laravel 应用程序时,您无权访问此 xampp 服务器上的 /

Posted

技术标签:

【中文标题】禁止在 heroku 中托管 laravel 应用程序时,您无权访问此 xampp 服务器上的 /【英文标题】:Forbidden You don't have permission to access / on this xampp server while hosting laravel app in heroku 【发布时间】:2017-07-20 21:16:25 【问题描述】:

我尝试将我的 laravel 应用程序部署到 heroku,但是在完成所有步骤后运行 heroku 时,它显示以下错误

我的 ht 访问文件是

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_FILENAME !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %HTTP:Authorization .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]
</IfModule>

【问题讨论】:

服务器是否有权限读取和创建app目录下的临时文件? 我正在使用 xampp 服务器...我有权创建临时文件 一定要加Options +FollowSymLinks 是的,您有访问权限,但是...运行服务器的用户呢? 此问题是否与:***.com/q/38556113/1144627 相关?您的错误日志文件显示什么? 【参考方案1】:

创建Procfile 默认情况下,Heroku 将与 PHP 一起启动一个 Apache Web 服务器,以从项目的根目录为应用程序提供服务。 但是,您的应用程序的文档根目录是 public/ 子目录,因此您需要创建一个配置正确文档根目录的 Procfile:

在项目目录的终端上,执行以下操作(适用于 Windows)

  echo web: vendor/bin/heroku-php-apache2 public/ > Procfile

然后执行 Git 添加、提交、推送 -来源 Heroku 文档

【讨论】:

【参考方案2】:

我觉得问题出在这里:

access here, or in any related virtual host.
<Directory />
    Options FollowSymLinks
    AllowOverride All
    Require all denied
 </Directory>

 <Directory /usr/share>
    AllowOverride None
    Require all granted
 </Directory>

 <Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
 </Directory>

重点是

Require all denied

您应该将拒绝更改为授予

【讨论】:

【参考方案3】:

您是否在 Heroku 上正确部署了应用程序?你能检查一下你是否做了以下事情吗?

    创建 Heroku 应用程序 在项目的根目录上创建 Procfile 修改composer.json 让您的项目文件保持最新 将项目文件添加到 Heroku 设置数据库连接 *

如果您错过了任何步骤,请执行并重试。 在 Heroku 云应用平台上部署、构建、运行和操作 Laravel 应用程序的完整指南包含在以下博客文章中,其中包含您需要的所有步骤和信息。

阅读:Laravel: Deploy Laravel Projects On Heroku

https://www.ashenlive.com/blog/laravel-deploy-laravel-projects-on-heroku

【讨论】:

【参考方案4】:

我遇到了同样的问题并找到了解决方案。这是关于 Heroku 在目录中找不到索引文件(index.php,index.html)。 例如,如果您无法访问根目录下的文件,您应该在那里添加一个索引文件。就我而言,我有一个根目录和一个 index.php 文件,因此我可以访问其中的文件。但是根目录下还有另一个文件夹我无法进入。所以我也在那里创建了一个空的 index.html 文件。

然后问题就解决了。

【讨论】:

【参考方案5】:

在 Procfile 中您已对其进行编辑并将代码替换为

web: heroku-php-apache2 public/

现在通过 cmd 中的此命令更新您的 Procfile

    git 状态 git add -A git commit -m "添加 Procfile 并使用 Apache2" git push heroku master

希望能修复

【讨论】:

以上是关于禁止在 heroku 中托管 laravel 应用程序时,您无权访问此 xampp 服务器上的 /的主要内容,如果未能解决你的问题,请参考以下文章

windows中heroku达到的最大setlocal递归级别

Laravel 密码重置电子邮件未在 Heroku 上使用 gmail 发送

Heroku 上的 Laravel 5.4。 Forbidden 您无权访问此服务器上的 /

如何部署laravel宅基地环境

如何从 Heroku 中托管的 Rails API 应用程序在浏览器中设置 cookie,该应用程序在 Netlify 中托管的 React 应用程序中运行前端?

用于简单 HTML/JS 应用程序的 Heroku 托管