/ storage / logs中没有现有目录,并且该目录不可构建:权限被拒绝

时间:2018-06-26 10:56:53

标签: laravel-5 permissions

我在ovh Web服务器上部署laravel时遇到问题。 制成后
' composer update '
' php artisan cache:clear '
'php artisan route:clear
'
'php artisan dump-autoload
'

我有这个答案:
' There is no existing directory at /storage/logs and its not buildable: Permission denied '
我将所有文件都放在777 chmod上,但是我一直都有这个答案。

22 个答案:

答案 0 :(得分:21)

请尝试

php artisan route:clear

php artisan config:clear

php artisan cache:clear

这有助于thread at laracasts

答案 1 :(得分:13)

清除缓存和配置,然后部署到实时服务器。

  

如果您已上传到实时服务器,则必须执行以下步骤:

  1. 删除bootstrap/cache/config.php

  2. 删除storage/logs中的所有日志文件。

答案 2 :(得分:5)

您不需要在存储文件上添加任何权限。

  • 这里的主要问题是在编译文件中,并且由于laravel试图显示错误。
  • 存储文件无权在控制台中显示(错误 显示在error.log文件中。)
  • 因此,您需要修复的是修复编译文件。可以通过单个命令来完成

此命令将清除所有缓存

Compiled views
Application cache
Route cache
Configuration cache
Removed Compiled services and packages files!

使用此

  

php artisan优化:清除

答案 3 :(得分:2)

您必须以这种方式尝试工匠命令

  1. php artisan cache: clear
    
  2. php artisan config:cache
    
  3. php artisan cache: clear
    

答案 4 :(得分:1)

进入无业游民

然后运行

无用的ssh

php artisan config:cache

答案 5 :(得分:1)

如果您在Laravel中使用宅基地(无家可归),请按照提供的@Farid shahidi步骤进行操作

vagrant ssh
cd /home/vagrant/code <-- your file usually resides here; see your Homestead.yaml configuration
php artisan config:cache

答案 6 :(得分:1)

您需要从终端运行此命令。

php artisan config:clear
php artisan config:cache

答案 7 :(得分:1)

尝试

  1. 删除“供应商”文件夹
  2. 在cmd或终端上运行“ composer install”或“ composer install --ignore-platform-reqs”
  3. php artisan config:cache
  4. php artisan config:clear
  5. php artisan cache:clear
  6. php artisan route:cache
  7. php artisan view:clear
  8. php artisan config:cache

如果您使用的是Linux:

  1. 重新启动服务apache2(以防万一)

如果您使用xammp:

  1. 只需重新启动xammp

答案 8 :(得分:1)

我遇到了同样的问题,我更改了存储文件夹中文件夹的权限。

chmod 777 <folder_name>

我不确定这种安全性。但这解决了我的问题。

我将文件设置更改为755也对我有用。

答案 9 :(得分:1)

如果可以访问服务器终端,请运行以下命令

php artisan路线:clear && php artisan缓存:clear && php artisan config:clear && php artisan config:cache

如果您位于共享主机上并且无法访问终端,请转到routes/web.php中的网络路由文件,并建立一个临时链接,如下所示:

Route::get('reset', function (){
    Artisan::call('route:clear');
    Artisan::call('cache:clear');
    Artisan::call('config:clear');
    Artisan::call('config:cache');
});

然后转到http://your-domain/reset执行命令。之后您就可以正常访问网站了

答案 10 :(得分:0)

以下代码对我有用 ./dock php php artisan 配置:清除 ./dock php php artisan 缓存:清除 ./dock php php artisan 视图:清除 ./dock php php artisan route:clear ./dock php php artisan cache:clear

./dock php php artisan optimize:clear 光盘 须藤 mkdir -p 存储/mysql/数据 光盘存储/mysql 须藤 chown -R 999:999 数据 cd ~/www/cmp sudo chmod -R 777 存储/日志 sudo chmod -R 777 存储/框架 须藤 chmod -R 777 引导程序/缓存 docker-compose -f docker-compose-dev.yaml up -d ./dock php php 工匠护照:安装

答案 11 :(得分:0)

在CentO上,只需更改项目的所有权:

chown -R apache:apache [Your Project Folder]

就是这样。

答案 12 :(得分:0)

您是否尝试过使用sudo命令?有时您只需要root权限才能访问某些文件夹,因为错误显示:拒绝权限可以有效使用:

sudo php artisan <command>

甚至:

sudo composer <command>

显然,您需要root访问权限。如果此方法适用于任何人,请向上箭头。它对我遇到同样问题的案件起作用。

答案 13 :(得分:0)

此单行命令解决了我的问题:

php artisan config:cache

答案 14 :(得分:0)

从服务器上的laravel部署中删除bootstrap / cache / config.php。

答案 15 :(得分:0)

对我来说,尝试压缩我的项目目录并将其部署到Elastic Beanstalk AWS时,也发生了同样的问题。我不知道,Finder(在MacOS中)默认情况下隐藏.ebextensions文件夹。

通过在终端中运行以下命令,我能够正确压缩这些文件夹,现在部署的项目正在按需工作:

 defaults write com.apple.finder AppleShowAllFiles TRUE
 killall Finder

答案 16 :(得分:0)

更改本地配置后,我一遍又一遍地遇到相同的错误, 试试这个,可能会有所帮助。

rm bootstrap/cache/config.php

然后

php artisan cache:clear

答案 17 :(得分:0)

授予./storage权限应该可以解决问题:

chmod -R 777 storage/

答案 18 :(得分:0)

确保您拥有storage/log文件夹和git 777 permission到该文件夹​​。

答案 19 :(得分:0)

如果您的项目位于/var/www/html/

中,这对我有用

sudo chmod -Rf 0777 /var/www/html/{project-name}/bootstrap/cache sudo chmod -Rf 0777 /var/www/html/{project-name}/storage

答案 20 :(得分:0)

请运行以下命令:

php artisan route:clear
php artisan config:clear
php artisan cache:clear

答案 21 :(得分:-1)

可以帮助某人。

将项目从开发服务器迁移到生产服务器后,我遇到了这个问题 在开发服务器上,我有D驱动器,但在生产服务器上,我没有D驱动器。

更改下面文件中的路径。它对我有用。

bootstrap \ cache \ config.php

在此检查路径