我正在使用拥有所有者的Apache Web Server _www:_www.我永远不知道文件权限的最佳做法是什么,例如当我创建新的Laravel 5项目时.
Laravel 5要求/storage文件夹可写.我找到了许多不同的方法来使它工作,我通常最终以777递归方式使用chmod.我知道这不是最好的主意.
官方文件说:
Laravel可能需要配置一些权限:Web服务器中的文件夹,
storage并vendor要求Web服务器进行写访问.
这是否意味着Web服务器本身也需要访问storage和vendor文件夹本身或仅需要访问其当前内容?
我认为更好的是改变所有者而不是权限.我递归地更改了所有Laravel的文件权限_www:_www,这使得网站正常工作,就像我将chmod更改为777.问题是,现在我的文本编辑器每次要保存任何文件时都要求我输入密码,如果我尝试在Finder中更改任何内容,就会发生同样的情况,例如复制文件.
解决这些问题的正确方法是什么?
chmodsudo我将我的项目上传到heroku,但是当我尝试访问我的注册路由时,出现此错误:无法从文件 file:///app/storage/oauth-private.key 读取密钥
注册API路由
Route::post('/users/register' , 'App\Http\Controllers\AuthController@register') ;
Run Code Online (Sandbox Code Playgroud)
注册控制器
public function register(Request $request)
{
$rules =
[
'email' => 'email|required|unique:users',
'password' => ['required', 'confirmed', Password::min(8)
->letters()->mixedCase()->numbers()->symbols()],
'profile_image_url' => ' string|nullable',
'phone_number' => 'digits:10|required',
'home_number' => 'digits:7|nullable',
'facebook_url' => 'string|required',
'birthdate' => 'date|before:-15 years',
'name' => 'required|max:55|min:3',
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return response()->json(['message' => 'there is been an error', 'error
message' => $validator->errors()]);
}
try {
$RegisterData = $request->input();
$RegisterData['password'] = bcrypt($request->password);
$user = new User;
$user->name …Run Code Online (Sandbox Code Playgroud)