php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.07.2011, 10:53  
Benutzer
 
Registriert seit: 06.01.2011
Beiträge: 36
PHP-Kenntnisse:
Fortgeschritten
mbunge befindet sich auf einem aufstrebenden Ast
Standard Softwareupdater in PHP

Hallo PHP-Gemeinde,

ich zerschlage mir schon seit ein Paar Tagen den Kopf über einen Softwareupdater für PHP-Anwedungen.

An sich würde ich einfach eine FTP Verbindung herstellen Softwareupdates als zur Verfügung stellen und die Daten von meiner Anwedung dann einlesen lassen.

Jedoch gibt es ein Problem: Die Anwendung muss auch die Möglichkeit haben lizenzierte Updates herunter zu laden. Via FTP kann ich aber keine Lizenz prüfen lassen.

Ein Lösungansatz ist ein SOAP-Request, der bei erfolgreicher Authentifierzierung und Validierung der Lizenz FTP-Zugangsdaten zurückschickt. Diese Lösung halte ich aber für alles andere als gut.

Habt ihr eine Idee oder Lösungsansatz, wie ich das besser umsetzen könnte?

MfG
mbunge
mbunge ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.07.2011, 10:55  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Diese Lösung halte ich aber für alles andere als gut.
Warum?

Theoretisch würde sich das auch ohne Schnickschnack mit curl realisieren lassen.
xm22 ist offline   Mit Zitat antworten
Alt 05.07.2011, 11:42  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

hm .. um deine Probleme einschätzen zu können - wieso besteht bei dir ein Update einer Web-Seite ["Anwendung"] nicht aus dem Upload der neuen Scripte / Update der Scripte und Datenbank ?
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 05.07.2011, 11:45  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Svn?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 05.07.2011, 11:46  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Wieso so kompliziert? Updatescript, dem die Authentifizierung übergeben wird und das nach erfolgreicher Validierung entweder ein "not modified" oder eben das Archiv des Updates zurückliefert. Ein GET Aufruf und gut ist.
__________________
Wir suchen PHP Entwickler (Vollzeit) im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline   Mit Zitat antworten
Alt 05.07.2011, 12:05  
Benutzer
 
Registriert seit: 06.01.2011
Beiträge: 36
PHP-Kenntnisse:
Fortgeschritten
mbunge befindet sich auf einem aufstrebenden Ast
Standard

Edit: Die Psots meiner Voredner habe ich erst gesehen, nachdem ich diesen Beitrag geschrieben habe

Svn, upload

@chriz, @eagle275: Naja der Nutzer soll in der Anwedung ein Knöpfchen drücken und dann macht das System ein Update. Ein Upload als manuell Möglichkeit ist natürlich nicht ausgeschlossen. Jedoch nicht für jeden Nutzer komfortabel.

@mquadrat: Du meinst unter der Verwendung von cURL oder Sockets oder was anders?

@xm22: Nur ist cURL nicht auf jedem Server mit installiert. Besonders bei Webspace ist das ein Problem, da der Nutzer nicht einfach cURL installieren kann.

Dann müsste ich wohl mit curl_setopt(_array) die Option CURL_POST = true und CURL_POSTFIELDS = array $params für einen Login.

Theoretisch würde die folgende Funktion nach einer Authentifierzierung eine Datei herunterladen. Am besten wäre hier natürlich eine Liste der Dateien die Heruntergelden werden sollen um anschließend die Liste abzuarbeiten.

Die Funktion:
PHP-Code:
<?php
function downloadFileByAuth($file$filename,$authParams)
{
    
    echo 
"Attempting message download for " $file ." \n";
    
$out fopen($filename'wb');
    if (
$out == FALSE){
      print 
"File not opened<br>";
      exit;
    }
   
    
$ch curl_init();
           
    
curl_setopt($chCURLOPT_FILE$out);
    
curl_setopt($chCURLOPT_HEADER0);
// -- AUTH via POST -- //

curl_setopt($chCURLOPT_POSTtrue);
curl_setopt($chCURLOPT_POSTFIELDS$authParams);

// -- AUTH via POST
    
curl_setopt($chCURLOPT_URL$file);
               
    
curl_exec($ch);
    echo 
"Error is : ".curl_error $ch) . "\n";
   
    
curl_close($ch);
    
//fclose($handle);

}
?>
So könnter der Download mit einer Update Funktion aussehen:

PHP-Code:

function systemUpdate(){
    
//hole Dateiliste als serialisiertes array:
    
    
$authParams = array('user' => 'ladida','password' => md5('pass'), 'licence' => '8s7v5s5d78v68v76');
    
    
downloadFileByAuth('filelist.sar''/update/filelist.sar'$authParams);
    
    
$fileListArray unserialize(file_get_contents('/update/filelist.sar'));
    
    foreach(
$fileListArray as $fileArr){
        
        
downloadFileByAuth($fileArr['hash'], '/update/' $fileArr['hash'], $authParams);
    }
    
    
//Funktionen zum Updaten des systems
    //das Filearr binhaltet nben dem Hash auch den Datei-Pfad und Datei-Name, Datei-Version, Erstelldatum etc. 
    //...
    

Das ganze wird natürlich objektorientiert entwickelt. Wenn jemand noch Ergänzungen hat, dann immer her damit. Jedoch sei Punkt eins nicht außer Acht zu lassen!

MfG

Geändert von mbunge (05.07.2011 um 12:30 Uhr).
mbunge ist offline   Mit Zitat antworten
Alt 05.07.2011, 12:51  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Und was spricht beim "Aufs Knöpfchen drücken" gegen SVN?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 05.07.2011, 12:56  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Weil du auf nem Shared Host wohl kein SVN drauf hast So wie ich das verstehe soll das halt einfach für 0-8-15 User sein die ihren Blog/CMS oder was auch immer nicht per Hand updaten können.
Flor1an ist offline   Mit Zitat antworten
Alt 05.07.2011, 12:59  
Benutzer
 
Registriert seit: 25.01.2011
Beiträge: 59
PHP-Kenntnisse:
Fortgeschritten
Renner befindet sich auf einem aufstrebenden Ast
Standard

Ich würde den Request wrappen, gerade für den Fall, dass cURL nicht zur Verfügung steht und man auf sockets ausweichen muss.
Des Weiteren würde ich den Request über SSL schicken, da dein Lizenzschlüssel sonst im Klartext übers Netzwerk geht.

Ein geeigneter Wrapper für HTTP Requests wäre in meinen Augen Zend_Http_Client.
Renner ist offline   Mit Zitat antworten
Alt 05.07.2011, 15:35  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Weil du auf nem Shared Host wohl kein SVN drauf hast So wie ich das verstehe soll das halt einfach für 0-8-15 User sein die ihren Blog/CMS oder was auch immer nicht per Hand updaten können.
Ja gut, alles muss funktionieren, nichts kosten, keinen Aufwand bereiten und trotzdem funktionieren.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php softwareupdater

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum