我正在为我正在构建的生物识别相关原型对用户击键模式进行一些分析。我有一个问题,我通过POST传递变量到另一个网页,该网页调用一个脚本,根据传递给它的数据在目录中写入本地服务器。
我的原型很简单:用户在文本表单中键入一些数据,收集击键,用户在任务结束时单击提交,然后将该数据发送到服务器进行分析。然而,PHP拒绝写入通过web指定的目录。如果我进入PHP命令行,它可以工作。我甚至尝试在insertData中更改POST为GET,并手动传递数据。
我认为有几件事可能是错的:
- 我的AJAX是错误的。它在本地工作,但不能在网络上工作。然而,我可能无意中改变了一些东西,这就是问题的根源。
- apache的文件权限不正确。这很奇怪,因为Apache拥有这个文件夹/文件。SELinux是禁用的,所以这是列表中的一项。我甚至在有问题的文件夹上尝试了chmod 777,但无济于事。
- 有一个指令在httpd.conf,我错过了,apache只是不允许web写入。
CentOS 5Apache2.2PHP 5.3.6
下面是澄清的源代码。假设所有站点名称等都是正确的。
http://jyaworski.pastebin.us/2799GatherData.php
http://jyaworski.pastebin.us/2800GatherData.js
http://jyaworski.pastebin。我们/2801//对不起。所以不会让新手发布超过2个链接。给http添加一个"p"InsertData.php
提前感谢;这个问题已经困扰我一段时间了。
Apache可能没有对"."的写权限。试着把它放到/tmp中,看看是否能解决问题。如果是这样,请保留它,或者在您试图保存数据的目录中添加apache的写权限。
$dir = '/tmp/userdata/'.$id.'/';