我正在针对我正在构建的与生物识别相关的原型的用户按键模式进行一些分析。我遇到一个问题,我通过POST将变量传递给另一个网页,并且该网页调用一个脚本,该脚本根据传递给它的数据写入目录中的本地服务器。
我的原型很简单:用户以文本形式输入一些数据,收集击键,用户在任务结束时单击提交,然后将数据发送到服务器进行分析。但是,PHP拒绝写入通过Web指定的目录。如果我进入命令行PHP,它将起作用。我什至尝试将insertData中的POST更改为GET,然后手动传递数据。
我认为可能有一些错误:
我的AJAX错误。它在本地工作,但无法在网络上工作。但是,我可能会无意中更改了某些内容,这就是此问题的根源。
我对apache的文件权限不正确。不过,这很奇怪,因为Apache拥有相关的文件夹/文件。 SELinux被禁用,因此这是一件事。我什至在有问题的文件夹上尝试了chmod 777,但无济于事。
我找不到httpd.conf中的一条指令,而apache只是不允许进行网络写入。
服务器信息:
CentOS的5
阿帕奇2.2
PHP 5.3.6
这是用于澄清的源代码。假设所有站点名称等都是正确的。
http://jyaworski.pastebin.us/2799
GatherData.php
http://jyaworski.pastebin.us/2800
GatherData.js
htt://jyaworski.pastebin.us/2801 //对不起。因此,新手不得发布超过2个链接。在http上添加一个“ p”
InsertData.php
先感谢您;这个问题困扰了我一段时间。
最佳答案
Apache可能对“。”没有写权限。尝试将其放在/ tmp中,看看是否可以解决您的问题。如果是这样,请将其保留在此处或在要将数据保存到的目录中添加apache的写入权限。
$dir = '/tmp/userdata/'.$id.'/';