Laravel不会在面板中读取.env文件

我已将Laravel应用程序上传到cpanel主机。

问题是Laravel没有读取.env文件的内容并向我显示“哎呀,看起来出了问题。” 页面(两次在一页中)
显示此错误是因为程序无法接收APP_KEY变量。 根本无法读取.env文件。 我搜索了一下这个问题,但解决方案没有用。 我尝试了所有这些:</ p>


  • 'php artisan cache:clear'command </ li>
  • 'php artisan config:clear'command </ li>

  • 'php artisan config:cache'command </ li>
  • 更改.env文件的权限(755)</ li>
  • 运行所有'composer update','composer install ','composer dump-autoload'命令</ li>
  • 我没有在任何地方使用env函数</ li>
  • env文件中存储的值中没有空格</ li>

    </ ul>

    但以上都没有解决问题。
    但是,我的程序在本地(Windows)运行良好并且没有问题但是它不能在服务器上运行(cpanel )</ p>

    注意:我意识到当我在服务器上执行'php artisan config:cache'命令时,所有缓存文件都在'bootstrap / cache'文件夹中生成,但配置除外。 php文件
    note2:我以不同的方式上传了几次。 一旦根文件夹中的所有文件和public_html文件夹中的公共文件。 以及public_html文件夹中的所有文件。 两者都不起作用</ p>

    有谁知道问题所在?</ p>

    在这个时候我将所有的app文件放在public_html文件夹中 </ p>
    </ div>

展开原文

原文

I've uploaded my Laravel app to a cpanel host . The problem is that Laravel does not read the contents of the .env file and show me a "Whoops, looks like something went wrong." page ( twice In one page ) This error is displayed because the program can not receive the APP_KEY variable . can not read .env file at all . I searched a little for this problem, but the solutions did not work . I tried all these:

  • 'php artisan cache:clear' command
  • 'php artisan config:clear' command
  • 'php artisan config:cache' command
  • change permission for .env file (755)
  • run all 'composer update' , 'composer install' , 'composer dump-autoload' commands
  • I did not use env function anywhere
  • There are no spaces in the values stored in the env file

But none of the above did not work out. However, My program runs well in local ( windows ) and there is no problem But it does not run on the server ( cpanel )

note : I realized that when I execute the 'php artisan config:cache' command on server , all cache files are made in 'bootstrap/cache' folder, except for the config.php file note2 : I uploaded several times in different ways. Once all the files in the folder in the root and the public files in the public_html folder . and once all the files in the public_html folder. Both not working

Does anyone know where the problem is?

in this time i put all my app files in public_html folder

drmgg4411
drmgg4411 什么都不介意?我甚至安装了以前版本的Laravel。但他们仍有同样的问题httpdapache设置或php.ini有问题吗?如果是,应该应用哪些设置?
2 年多之前 回复
duanchuang1935
duanchuang1935 是的它就在那里
2 年多之前 回复
douchiwan1503
douchiwan1503 只需确保您的.env文件存在于工匠文件存在的Laravel根文件夹中
2 年多之前 回复
dt3358
dt3358 我甚至将权限更改为755.但仍然无法正常工作
2 年多之前 回复
dougu5886
dougu5886 .env文件的权限是否正确?
2 年多之前 回复
douxiangbiao1899
douxiangbiao1899 正如我所说,问题根本不是app键。问题是不读取.env文件。我可以直接在config.php中设置app键。但我想知道为什么.env文件无法正常工作。+这不是一个真正的项目,这是对cpanel的测试。
2 年多之前 回复
doumengwei0138
doumengwei0138 发布文件树的屏幕截图
2 年多之前 回复
doutou7286
doutou7286 APP_KEY首先在.env中设置并在config/app.php中读取。
2 年多之前 回复
douzaoqu4447
douzaoqu4447 我以不同的方式上传了好几次。一旦根文件夹中的所有文件和public_html文件夹中的公共文件。以及public_html文件夹中的所有文件。两者都不起作用
2 年多之前 回复
dongliang2005
dongliang2005 你是如何将它上传到cPanel的,文件结构是什么?我假设您的公共文件夹的内容现在位于public_html文件夹中,其余文件位于根文件夹中?
2 年多之前 回复

3个回答



查看 storage / logs / laravel.log </ code>文件以获取更准确的信息。</ p>

确保未在 php.ini </ code>中禁用 putenv()</ code>和 getenv()</ code>函数</ p>
</ div>

展开原文

原文

Take a look at the storage/logs/laravel.log file to get more accurate information.

Make sure the putenv() and getenv() functions are not disabled In php.ini

drn5375
drn5375 是的 我联系了我的托管服务器,为我启用了putenv功能。 它现在运作良好。 谢谢伙计
2 年多之前 回复



您不应该使用.env文件进行生产,它仅用于开发目的。</ p>

为您的生产创建环境变量(在服务器上而不是.env)。 </ p>
</ div>

展开原文

原文

You should not use .env file for production, it is only for development purpose.

Create environment variables for your production(on server not .env).



在新网站上我总会遇到这种情况,所以我经常运行:</ p>

   chmod 777存储/存储/ app /存储/框架/存储/日志/ 
chmod 777存储/存储/ app /存储/框架/存储/日志/
chmod 777存储/框架/缓存/存储/框架/会话/存储/ framework / views /
chmod 777 bootstrap / cache /
chmod 777 bootstrap / cache / *
chmod 777 storage / logs / laravel.log
</ code> </ pre>

注意:最后一个 第一次不存在one(laravel.log),然后创建bun。</ p>

如果你第一次运行,你可以使用更推荐的ug + rwx而不是777:
chgrp -R www-data storage bootstrap / cache
chgrp -R www-data storage storage </ p>

其中www-data是web服务器用户,可以是apache或httpd </ p>

</ div>

展开原文

原文

That always happens to me on new sites, so I usually run:

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

Note: The last one (laravel.log) does not exist the first time, bun then it is created.

Instead of 777 you could use a more recommended ug+rwx if you first run: chgrp -R www-data storage bootstrap/cache chgrp -R www-data storage storage

where www-data is the web server user, it could be apache or httpd

dongwen9947
dongwen9947 这些更改会消除共享主机上的安全性。 不要在共享主机上使用777。
2 年多之前 回复
dpzp5127
dpzp5127 谢谢,但没有解决问题。 只是要求好奇心:这些变化不会影响安全性吗?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐