Zrobiłem prostą stronę, która działa dobrze na localhost. Więc umieściłem go na serwerze IIS Windows 2008r2, a teraz moje skrypty PHP nie piszą już do moich plików JSON. Sprawdziłem serwer i zainstalowałem na nim PHP, więc nie wiem, co jest nie tak i gdzie szukać.Skrypty PHP zapisują do pliku na localhost, ale nie na serwerze IIS.
Nadal nie działa, więc pomyślałem, że wyjaśnię sytuację bardziej szczegółowo.
Ten skrypt działa na serwerze lokalnym, ale nie na serwerze 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)
?>
Próbowałem dodając:
error_reporting(E_ALL);
ini_set('display_errors', '1');
i
chmod("../json/countries.json", 0644);
do PHP, ale nie widać żadnych innych rezultatów ani żadnych błędów.
Oto funkcja javascript, która uruchamia proces, a wyprowadzenie obiektu do konsoli pokazuje poprawne dane do zapisania.
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!");}
});
}
Wciąż pliki json nie są zmieniane. Ktoś dobry z Windows Server i php, który może wiedzieć dlaczego?
Dzięki
Jaki komunikat o błędzie został otrzymany? Jaka część skryptu nie działa. część otwarta lub część do zapisu. Czy próbowałeś używać IIS jako administratora? –
Nie masz uprawnień do serwera innego niż łączenie się z nim za pomocą Pulpitu zdalnego. I nie otrzymuję żadnego komunikatu o błędzie. Dane nie są zapisywane do pliku. – thehindutimes
Czy masz wystarczające uprawnienia do zapisu pliku? –