[转载自重力论坛]
我正在使用 Grav 和 Nginx。我的问题是,当我以表单形式上传文件时,总是出现错误。
我检查了 Nginx 错误日志文件,问题似乎出在它尝试临时上传文件的地方。
2023/12/20 12:46:40 [error] 42123#42123: *540 open() “/home/grav/www/html/fr/test.json/task:file-upload” failed (2: No such file or directory), client: xx.xxx.xx.xxx, server: localhost, request: “POST /fr/test.json/task:file-upload HTTP/1.1”, host: “xxx.xxx.xxx.xxx”, referrer: “http://xxx.xxx.xxx.xxx/fr/test”
但是,该路径/home/grav/www/html/fr/test.json/
在我的 Grav 树形图中并不存在。
如果有帮助的话,控制台显示的内容如下:
问题是这个部分 form.vendor.js
的 /home/grav/www/html/user/plugins/form/assets
{
key: "submitRequest",
value: function(e, t) {
e.send(t)
}
我四处寻找但似乎无法在网上找到解决方案。
使用来自@pamtbaau 的这个答案:
nginx 可以写入/tmp 吗?
使用 Apache 时,当我执行 chmod -w /tmp 时出现以下错误:
Failed to load resource: the server responded with a status of 500 (Internal Server Error) typography.json/task:file-upload:1
将文件放入 Dropzone 时会发生错误。
顺便说一句,typography.json/task:file-upload:1
不存在。这是在 Dropzone 中放置文件时由 Form 插件捕获的虚拟路径。然后 Form 插件会将文件保存在/tmp/form/....
提交表单时,Form 插件将获取临时文件并将其存储在destination
文件字段中。
我尝试授予写入权限,并尝试将所有权从/home/grav/www/html/tmp
切换grav:grav
到root:root
,但问题仍然存在
谢谢 : )