Laravel 不读取面板中的 .env 文件
Posted
技术标签:
【中文标题】Laravel 不读取面板中的 .env 文件【英文标题】:Laravel does not read .env file in panel 【发布时间】:2018-10-20 02:26:38 【问题描述】:我已将我的 Laravel 应用程序上传到 cpanel 主机。 问题是 Laravel 没有读取 .env 文件的内容并向我显示“哎呀,好像出了点问题”。页(两次在一页中) 显示此错误是因为程序无法接收 APP_KEY 变量。根本无法读取 .env 文件。我搜索了一下这个问题,但解决方案不起作用。我尝试了所有这些:
'php artisan cache:clear' 命令 'php artisan config:clear' 命令 'php artisan config:cache' 命令 更改 .env 文件的权限 (755) 运行所有“composer update”、“composer install”、“composer dump-autoload”命令 我没有在任何地方使用 env 函数 env 文件中存储的值中没有空格但以上都没有解决。 但是,我的程序在本地(windows)运行良好,没有问题,但它没有在服务器(cpanel)上运行
注意:我意识到当我在服务器上执行“php artisan config:cache”命令时,所有缓存文件都在“bootstrap/cache”文件夹中,除了 config.php 文件 注意2:我以不同的方式上传了几次。一旦根目录中的文件夹中的所有文件和 public_html 文件夹中的公共文件。以及 public_html 文件夹中的所有文件。两者都不起作用
有谁知道问题出在哪里?
in this time i put all my app files in public_html folder
【问题讨论】:
你是怎么上传到cPanel的,文件结构是什么?我假设您的公共文件夹的内容现在位于 public_html 文件夹中,其余文件位于根文件夹中? 我以不同的方式上传了好几次。一旦根目录中的文件夹中的所有文件和 public_html 文件夹中的公共文件。以及 public_html 文件夹中的所有文件。两者都不起作用 APP_KEY 首先在 .env 中设置并在 config/app.php 中读取。 发布文件树的屏幕截图 正如我所说,问题根本不是应用程序密钥。问题是 .env 文件没有被读取。我可以直接在 config.php 中设置 app 键。但我想知道为什么 .env 文件不起作用。 +这不是一个真正的项目这是在 cpanel 上的一个测试。 【参考方案1】:在新网站上我总是会遇到这种情况,所以我通常会运行:
chmod 777 storage/ storage/app/ storage/framework/ storage/logs/
chmod 777 storage/ storage/app/ storage/framework/ storage/logs/
chmod 777 storage/framework/cache/ storage/framework/sessions/ storage/framework/views/
chmod 777 bootstrap/cache/
chmod 777 bootstrap/cache/*
chmod 777 storage/logs/laravel.log
注意:最后一个(laravel.log)第一次是不存在的,bun后创建的。
如果你第一次运行,你可以使用更推荐的 ug+rwx 而不是 777: chgrp -R www-data 存储引导/缓存 chgrp -R www-data storage 存储
其中 www-data 是网络服务器用户,可以是 apache 或 httpd
【讨论】:
谢谢,但没有解决问题。只求好奇:这些变化不会影响安全吗? 这些更改消除共享主机上的安全性。 不要在共享主机上使用 777。【参考方案2】:查看storage/logs/laravel.log
文件以获得更准确的信息。
确保putenv()
和getenv()
功能没有在php.ini
中被禁用
【讨论】:
是的。我联系了我的托管服务器为我启用了putenv
功能。现在效果很好。谢谢朋友【参考方案3】:
您不应该将 .env 文件用于生产,它仅用于开发目的。
为您的产品创建环境变量(在服务器而不是 .env 上)。
【讨论】:
以上是关于Laravel 不读取面板中的 .env 文件的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.2不是在ubuntu上从.env上读取的
Laravel:php artisan key:generate三种报错解决方案,修改默认PHP版本(宝塔面板)