2016-03-25 18 views
0

Ich versuche, ein Upload-Skript auf einem Windows 2012-Server mit IIS 8 und PHP 5.6 zu erstellen. Wir können die PHP-Fehlerprotokolle nicht ausführen, was ein großer Wermutstropfen ist, weil es unsere Fähigkeit zur Fehlersuche behindert. Daher dachte ich, ich frage, ob irgendjemand mit PHP-Erfahrung auf einem Windows-Server etwas aushelfen könnte.PHP-Datei-Upload auf IIS-Server

Ich bin kein Fan von PHP auf IIS, aber ich habe keine Wahl in diesem Fall also bitte keine Flammen dort. Wir haben einen LAMP-Stack entwickelt, weil wir keinen WIMP-Stack zur Verfügung hatten. Als wir versuchten zu migrieren, hatten wir viel Erfolg, aber das Upload-Skript ist fehlgeschlagen, also werde ich die relevanten Teile hier veröffentlichen und wenn jemand eine Hand dafür leihen kann das wäre großartig.

Wenn ich ein Idiot, Trottel usw. bin, entschuldige ich mich.

\t // File Variables 
 
\t $_FILES["image"]["name"] = date("Y-m-d-H-i-s"). 
 
\t '.png'; 
 
\t $filename = $_FILES["image"]["name"]; 
 

 
\t //Path Variables 
 
\t $target_dir = "../uploads/"; 
 
\t $target_path = $target_dir.$_FILES["image"]["name"]; 
 

 

 
\t // Upload 
 
\t if (move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) { 
 
\t $actual_link = "http://".$_SERVER[HTTP_HOST]. 
 
\t "/uploads/".$filename; 
 
\t $myMessage. = '<br/><img src="'.$actual_link. 
 
\t '" width="300" height="224" /><br/>'; 
 
\t }

schätze ich jede Unterstützung oder Führung. Vielen Dank!

Antwort

2

Zuerst stellen Sie sicher, dass in php.inisafe_mode = Off und setzte display_errors oder folgende Zeilen am Anfang des Codes

mit Windows Server 2012 R2 and IIS 8.5 with PHP Version 5.6

ich alles

<?php 
ini_set("display_errors", 1); 
ini_set('error_reporting', E_ALL); 
?> 

Ich hatte dasselbe Problem noch versucht, die ich finden konnte im Internet, aber ich war hilflos. Ich habe versucht, Erlaubnis des Benutzers "IIS_IUSRS" zum "C: \ Wdinwos \ Temp" Ordner zu assistieren, der in php.ini wie upload_tmp_dir und dem Ordner konfiguriert wird, in dem ich die Akten/Bilder lud. Es war nutzlos

Dann finde ich heraus in meinem IIS Authentication -> Anonymous Authentication Dort ist "IUSR". Dann habe ich diesen Benutzer zu "C: \ Windows \ Temp" und dem Ordner hinzugefügt, wo ich Dateien/Bilder hochgeladen habe und es hat funktioniert.

Verwandte Themen