Entpacken von passwortgeschützten ZIP-Archiven mit PHP

Status
Für weitere Antworten geschlossen.

kwiede

Benutzer
Mitglied seit
26. Mrz 2014
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich versuche leider vergeblich eine passwortgeschützte ZIP-Datei über den Webserver mit PHP zu entpacken. Laut diverser Anleitungen im Internet soll das nur über den externen UNZIP-Befehl gehen. Dieser soll über den folgenden PHP-Befehl aufgerufen werden:

system("unzip -P passwort 'datei.zip' -d 'tmp/'");

Um zu testen ob der Systembefehl unzip auf der Diskstation funktioniert, habe ich den Befehl über eine SSH-Konsole aufgerufen:

unzip -P passwort 'Datei.zip' -d 'tmp/'

Die enthaltenen Dateien des Archivs wurden darauf hin ordnungsgemäß entpackt.

Was mache ich also falsch? Ich habe bereits erfolglos versucht die Pfade in allen möglichen Varianten anzugeben.
Kann es vielleicht sein, das der Web-Benutzer keine Rechte auf Systembefehle hat? Falls ja, wo kann dies geändert werden?
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo und willkommen im Forum,

Hier mal ein Link. Ansonsten solltest Du dich auch mal mit safe_mode und open_basedir beschäftigen.

Gruß Frank
 

kwiede

Benutzer
Mitglied seit
26. Mrz 2014
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
OK, ich habe mich nun mit safe_mode und open_basedir beschäftigt, komme aber dennoch nicht zum Ziel.
Der Safemode ist in der aktuellen PHP-Version laut Versionsangabe nicht mehr vorhanden ( PHP 5.5.8). In den Systemeinstellungen der Diskstation sind standardmäßige Einträge für open_basedir vorhanden, es können auch eigene Eintragungen hinzugefügt werden.

Mittlerweile habe ich anhand der Fehlermeldungen herausgefunden, das der Zugriff auf das auszuführende Kommando "unzip" verweigert wird (Fehlercode:127 nach Aufruf des PHP-Befehls).

Unklar ist mir, ob ich den Zugriff über "open_basedir" ermöglichen kann, und wenn ja, wie?

In welchem Verzeichnis liegt denn "unzip" auf der Diskstation und wie muss der Eintrag für open_basedir dann aussehen?
Oder ist eine Bearbeitung der php.ini notwendig?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat