首页 > 解决方案 > Laravel 5.7.28 调试未在实时服务器中启动 [APP_DEBUG = false] 不起作用

问题描述

我已将一个 laravel 项目上传到实时服务器。我已设置APP_DEBUG=false

但它仍然将东西加载到调试模式。

IE。当我们在浏览器中打开时显示 .env 文件输出

Laravel 版本是 5.7.28

我无权访问实时服务器终端来安装任何附加服务器。谁能帮我找到任何其他设置以防止在实时服务器中进行调试。

如何防止调试和直接访问文件。任何建议或帮助表示赞赏。

标签: phplaravel

解决方案


通常,在 laravel 中停止调试模式应该可以工作。

  • .env ==> [ APP_DEBUG=false ]
  • config/app.php ==> 'debug' => env('APP_DEBUG', false),

你说你不能访问终端。是否需要 php artisan 命令?

为此,您可以使用路由调用来执行 laravel 命令。

Route::get('/clear-cache', function() {
    Artisan::call('cache:clear');
    return "Cache is cleared";
});

你说你想阻止直接访问文件。

通常进入谷歌,您可以轻松搜索具有 .env 文件的网站。而且直接访问一般都是开放的。

对 .htaccess 文件进行以下更改。

# To Disable index view
Options -Indexes

# To Hide a .env file
<Files .env>
    Order allow,deny
    Deny from all
</Files>

# To Hide all .(DOT) files
<FilesMatch "^\.(.+)$">
   order deny,allow
   deny from all 
   allow from 127.0.0.1  
</FilesMatch>

推荐阅读