Can';t通过Phonegap和PHP将图像上传到Linux服务器

Can';t通过Phonegap和PHP将图像上传到Linux服务器,php,jquery,cordova,nginx,phonegap,Php,Jquery,Cordova,Nginx,Phonegap,我正在PhoneGap中制作一个应用程序,需要将图像上传到Linux服务器。我设置了一个测试CentOS 7 VM,并在其上安装和配置了LEMP堆栈,然后创建了一个名为upload.php(如下)的php脚本。这个脚本刚刚从多个不同的教程中删除,我只是编辑了路径以将文件保存到所需的位置 然后我创建了javascript代码,将其上传到服务器,但它不工作,所以我从在线教程中获取代码,只是为了测试它是否正常工作(也在下面)。我收到警报,表明它正在工作,但没有上传图像,因此我尝试禁用防火墙,但仍然没有

我正在PhoneGap中制作一个应用程序,需要将图像上传到Linux服务器。我设置了一个测试CentOS 7 VM,并在其上安装和配置了LEMP堆栈,然后创建了一个名为
upload.php
(如下)的php脚本。这个脚本刚刚从多个不同的教程中删除,我只是编辑了路径以将文件保存到所需的位置

然后我创建了javascript代码,将其上传到服务器,但它不工作,所以我从在线教程中获取代码,只是为了测试它是否正常工作(也在下面)。我收到警报,表明它正在工作,但没有上传图像,因此我尝试禁用防火墙,但仍然没有成功

我不确定是服务器设置、javascript、php还是我的ISP。非常感谢您的帮助

我正在使用cordova插件: 摄像机

文件

文件传输


PHP:

Javascript:

navigator.camera.getPicture(上传照片,函数(消息){
警报(“获取图片失败”);
}, {
质量:100,
destinationType:navigator.camera.destinationType.FILE\u URI,
sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY
});
}
函数上载照片(imageURI){
var options=new FileUploadOptions();
options.fileKey=“文件”;
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType=“image/jpeg”;
console.log(options.fileName);
var params=新对象();
params.value1=“测试”;
params.value2=“param”;
options.params=参数;
options.chunkedMode=false;
var ft=新文件传输();
ft.upload(imageURI,“http://192.168.1.11/upload.php,函数(结果){
警报(JSON.stringify(result));
警报(“工作”);
},函数(错误){
log(JSON.stringify(error));
警惕(‘不’);
},选项);

}
有几个问题需要克服。所有这些都相当简单

我使用的是绝对路径,但php将其解释为相对路径,所以我只是更改了路径

该目录也归root所有,因此我修复了使用
chown nginx:nginx上传的问题


防火墙阻止了我手机的访问,所以我禁用了防火墙,但仍然需要想出更好的解决方案。我相信这很简单,但我还没来得及去做。

发生了什么?你的日志怎么说?您是否设置了允许php写入上载目录的正确权限?@miknik我临时将上载目录的权限更改为777,并且得到了相同的结果。它说它成功地警告了works而不是Not,但是文件没有被保存。在JSON.stringify(result)警报中,我得到:bytesSent:621268,responseCode:200,response:“objectID”