【发布时间】:2019-11-28 12:15:35
【问题描述】:
我在我的应用程序中使用了一些关于文件的函数。创建文件,从一个目录复制/创建到另一个目录,更新。在我的本地主机上,一切都很好,这是工作。
主要目的是在网站上有一个翻译经理。
- 父目录的权限:755
我有错误: 1)如果文件不存在,错误是 复制(/blabla/path.php):无法打开流:权限被拒绝
2) 如果我在 (touch + chown on usr:usr) 之前创建具有基本权限 (644) 或更新权限 (775) 的文件: file_put_contents(/blabla/path.php):无法打开流:权限被拒绝
在我的本地主机上:
- 目录权:755
- 文件权限:644
我也试过清理 php 缓存(php artisan cache:clear)
编辑:
我使用 2 个功能: copy(复制第二语言目录下的默认翻译文件)和file_put_contents(编辑文件)
public function replaceSlugs(Array $slugs,$filename, $lang)
{
$file=$this->path2File($filename,$lang);
if(!file_exists($file)){$this->duplicateFile($lang,$filename);}
$translate="<?php return ".var_export($slugs,true).";";
return file_put_contents ( $file , $translate, LOCK_EX );
}
private function duplicateFile($lang,$filename)
{
copy($this->path2File($filename),$this->path2File($filename,$lang));
}
private function path2File($filename,$lang="en")
{
return resource_path('lang/'.$lang.'/'.$filename.'.php');
}
【问题讨论】:
-
提供您使用的代码或命令。
-
我用代码编辑了我的问题。
标签: php laravel file permissions remote-server