php - cpanel 上的 Laravel POST 请求有时会返回 405 错误
问题描述
所以,这是我关于堆栈溢出的第一篇文章,如果我遗漏了什么,请告诉我。
所以我有一些我无法弄清楚的奇怪问题。我有一个 laravel 8 应用程序,在我的机器上运行它,一切似乎都很好,在将它上传到 cpanel 后,我遇到了这个奇怪的问题。
我有一个表格:
<form action="{{ route('articles.store') }}" method="POST" class="form-horizontal" role="form" enctype="multipart/form-data">
@csrf
...
<input type="submit" value="Post" class="btn btn-primary">
</form>
该表单有一些输入,一个文本区域和一个文件输入。这些是我的路线:
Route::prefix('articles')->middleware(['auth:sanctum', 'verified'])->group(function(){
Route::get('/create', [\App\Http\Controllers\ArticleController::class, 'create'])->name('articles.create');
Route::post('/store', [\App\Http\Controllers\ArticleController::class, 'store'])->name('articles.store');
});
当我提交表单时,我得到了这条路线不支持 GET 方法。支持的方法:POST。错误。
我在 chrome 中打开了网络控制台,选中了保留日志复选框并再次发出了请求,在列表中看起来这发出了 POST 请求,但收到了 405
我在我的 cpanel Select PHP Version页面中检查了post_max_size和upload_max_size选项,它们是1G。
另外,尝试将路由更改为 PUT 并使用 @method('PUT') 但我得到了相同的结果。
此外,一个奇怪的部分是,如果我提交的表单没有任何内容,它可以正常工作,我会按预期返回验证,但只要我填写了其中一个字段,我就会收到方法不允许错误。
也许你们知道这里发生了什么,并指出我正确的方向。
谢谢!
解决方案
可以在服务器上用下面的命令清除路由缓存再试吗?
php artisan route:cache
推荐阅读
- ruby-on-rails - 如何访问 Ruby splat 参数?
- scala - 运行测试时未捕获的异常:java.lang.NoClassDefFoundError: scala/collection/mutable/ArrayOps$ofRef
- android - build.gradle 不工作。红色下划线但没有掉毛错误
- scala - 如何修复 Akka HTTP 中的无限重定向?
- java - 如何在添加了 jackson-dataformat-xml 的情况下将默认 MessageConverter 设置为 JSON?
- java - 为单元测试创建样本数据列表
- c# - 如何修复“值无效”错误cshtml?
- python - AttributeError:“DataFrame”对象没有属性“plot_coordinates”
- mysql - 在查询中使用分组时如何包含字段相关数据
- r - 计算比较参考数据集的重复列的平均值