Problem mit file_exists und php-cgi.exe

Alles was die Programmierung mit PHP betrifft

Moderator: wegus

Antworten
PhotonenSammler
Beiträge: 1
Registriert: 01.11.2011, 05:21

Problem mit file_exists und php-cgi.exe

Beitrag von PhotonenSammler » 01.11.2011, 05:40

Hallo alle miteinander,

jetzt weiß ich nicht mehr weiter, Google hat auch nicht geholfen, vielleicht finde ich hier Hilfe:

Ich benutze die IDE 7.0.1 und den Abyss Webserver X1 (V2.7) unter Windows 7 64bit mit PHP 5.3.8.

Ich habe ein Problem mit file_exists(), realpath() usw. - mit einer Datei, die auf einem Netzwerklaufwerk liegt.
Diese Datei ist von Windows aus ohne jedes Problem über den Laufwerksbuchstaben und auch über den UNC-Pfad erreichbar.

Auf diese Datei möchte ich von meinem lokalen Entwicklungssystem aus per PHP-Script zugreifen.

Wenn ich in der Konfiguration des Projekts in der IDE das Script auf der Komandozeile über php-cgi.exe oder php-win.exe ausführe, funktioniert alles, die Datei wird gefunden.

Sobald ich aber die Ausführung auf "Local Web Site (running on local web server)" umstelle, wird die Datei nicht mehr gefunden.
Mit dieser Einstellung ist der Zugriff auf die Datei nur möglich, wenn ich sie auf den lokalen PC kopiere und dort zugreife.

Es wird von der IDE, wie auch vom Webserver immer das gleiche php-cgi.exe mit der gleichen php.ini benutzt, ich habe keine Idee mehr, woran dieses Verhalten liegen könnte.

Ich hoffe, hier im Forum hat jemand die richtige Idee, an welchen Einstellungen in welche ini auch immer das liegen könnte.

Vielen Dank für Eure Antworten!

Gruß
Jörg

Benutzeravatar
florian.schuster
Beiträge: 1
Registriert: 07.12.2014, 09:22
Kontaktdaten:

Re: Problem mit file_exists und php-cgi.exe

Beitrag von florian.schuster » 08.12.2014, 06:12

Morgen,

hast du es bereits versucht mit Angabe der IP-Adresse vom Netzlaufwerk? Andere Alternative wäre, wenn auf den Netzlaufwerk ein FTP Server läuft, dann könntest du diese Datei über eine FTP Verbindung modifizieren. Was hast denn du eigentlich genau vor?

Grüße Florian

Benutzeravatar
wegus
Beiträge: 458
Registriert: 26.09.2006, 09:07

Re: Problem mit file_exists und php-cgi.exe

Beitrag von wegus » 08.12.2014, 07:34

Wenn das Skript gleich ist, kann es das Skript ja nicht sein!
Dann hat das entweder etwas mit Umgebungsvariablen oder mit Userrechten zu tun! Auf UNIX-Systemen läuft der Webserverdienst immer über einen ziemlich rechtlosen User. Ähnliches wird vielleicht auch bei Deinem Webserver der Fall sein?

Tipp1: Zeig doch mal den Code

Tipp2: intensive Fehlerbehandlung! Hat wirklich jeder Schritt geklappt, gab es Fehlermeldungen oder Warnungen?
Wenn etwas zu einfach klingt um wahr zu sein, dann ist es oft auch nicht wahr!

Benutzeravatar
nigjo
Beiträge: 602
Registriert: 08.09.2009, 09:43
Wohnort: Aachen
Kontaktdaten:

Re: Problem mit file_exists und php-cgi.exe

Beitrag von nigjo » 08.12.2014, 07:42

Moin
PhotonenSammler hat geschrieben:Ich habe ein Problem mit file_exists(), realpath() usw. - mit einer Datei, die auf einem Netzwerklaufwerk liegt.
Diese Datei ist von Windows aus ohne jedes Problem über den Laufwerksbuchstaben und auch über den UNC-Pfad erreichbar.

Auf diese Datei möchte ich von meinem lokalen Entwicklungssystem aus per PHP-Script zugreifen.

Wenn ich in der Konfiguration des Projekts in der IDE das Script auf der Komandozeile über php-cgi.exe oder php-win.exe ausführe, funktioniert alles, die Datei wird gefunden.

Sobald ich aber die Ausführung auf "Local Web Site (running on local web server)" umstelle, wird die Datei nicht mehr gefunden.
Mit dieser Einstellung ist der Zugriff auf die Datei nur möglich, wenn ich sie auf den lokalen PC kopiere und dort zugreife.
Unter welchem Benutzerkonto läuft dein Webserver? Bestimmt nicht unter deinem eigenen Account. Wäre ja auch fatal. Meistens ist es der "SYSTEM"-Account wenn man keinen dedizierten User dafür eingerichtet hat. Dieser Account hat im Normalfall keinerlei Rechte in deinem Netzwerk oder gar auf dem Zielrechner. Kein Wunder, dass die Dateien nicht gefunden werden.

Die IDE läuft in deinem eigenen Benutzerkontext und hat dementsprechend die gleichen Rechte wie du im Explorer.

"Webseiten" auf einem Netzlaufwerk abzulegen ist eine ungünstige Idee. Du solltest prüfen ob sie nicht genauso gut auf dem lokalen Rechner mit dem Webserver liegen. Dann sind die Dateiberechtigungen etwas übersichtlicher.

Gruß
Jens
Man sollte seine Werkzeuge kennen. Ansonsten haut man sich mit dem Hammer nur auf die Finger.

--
NetBeans Certified Engineer - Java Getriebe

Antworten