【发布时间】:2014-09-02 18:46:23
【问题描述】:
我制作了一个简单的网站,可以在 localhost 上正常运行。所以我把它放在了一个 IIS Windows 2008r2 服务器上,现在我的 PHP 脚本不再写入我的 JSON 文件了。我检查了服务器并在上面安装了 PHP,所以我真的不知道出了什么问题或在哪里查看。
我还没有让它工作,所以我想我会更详细地解释一下情况。
所以这个脚本可以在 localhost 上运行,但不能在 IIS 服务器上运行。
<?php
$myFile = "../json/countries.json";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = json_encode($_POST["data"]);
fwrite($fh, $stringData);
fclose($fh)
?>
我已经尝试添加:
error_reporting(E_ALL);
ini_set('display_errors', '1');
和
chmod("../json/countries.json", 0644);
到 php 但没有看到任何不同的结果或任何错误。
这是启动进程的 javascript 函数,将对象输出到控制台确实显示要保存的正确数据。
function saveJson(object, file) {
console.log("Saving JSON data: " + JSON.stringify(object));
$.ajax
({
type: "POST",
dataType : 'json',
async: false,
url: file,
data: { data:object },
success: function () {console.log("Thanks!"); },
failure: function() {console.log("Error!");}
});
}
仍然没有更改 json 文件。 任何熟悉 Windows Server 和 php 的人可能知道为什么?
谢谢
【问题讨论】:
-
您收到什么错误信息?脚本的哪一部分不起作用。开放部分或写入部分。您是否尝试过以管理员身份运行 IIS
-
除了通过远程桌面连接到服务器之外,没有其他权限。而且我没有收到任何错误消息。数据只是没有写入文件。
-
您是否有足够的文件权限来写入文件?
-
如果我检查 FileZilla 中的文件权限,他们都拥有所有者、组和公共@YahyaUddin 的读取、写入和执行权限
-
@can 谁是目录所有者?
标签: javascript php json iis windows-server-2008-r2