php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.08.2009, 16:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ein CVS kann das sicher auch leisten. Problematisch sind immer Daten wie Bilder, CSS etc. Hier ist eine gute Dateistruktur vonnöten, um die nicht in der neuen Version doppelt vorhalten zu müssen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.08.2009, 16:25  
Erfahrener Benutzer
 
Registriert seit: 27.08.2004
Beiträge: 239
vollkommenegal
Standard

Es ist schon so, wie Asipak es schrieb: Mit "neuer Prozess" meinte ich das Starten eines Skriptes mit einem Formular, um neue Daten einzugeben bzw. Daten zu ändern.
Dieser Prozess endet, sobald das Formular abgeschickt und die Daten in die DB geschrieben wurden.

Was "diese Aktionen voneinander unterscheidet" ist das bereits von mir erwähnte $_POST, das beim Absenden eines Formulars mit Daten gefüllt ist.

Das Update-Verfahren auf der Dateiebene ist dahingehend suboptimal, weil es (wie nikosch schon schrieb) nicht nur um die Skript-Dateien geht. Täglich werden zahlreiche PDFs erzeugt, die in der zweiten Dateistruktur mitkopiert werden müssten.

Allein dieses Kopieren würde mehrere Minuten dauern und dürfte erst gestartet werden, wenn wiederum alle User die Finger von der Tastatur nehmen würde.
(Aber die Idee an sich ist super. Hätten wir damals beim Erstellen der Datei-Ebene berücksichtigen müssen... *hmpf*)

cya
vollkommenegal ist offline   Mit Zitat antworten
Alt 03.08.2009, 16:26  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Ein CVS kann das sicher auch leisten. Problematisch sind immer Daten wie Bilder, CSS etc. Hier ist eine gute Dateistruktur vonnöten, um die nicht in der neuen Version doppelt vorhalten zu müssen.
Klar CVS, SVN oder irgendeine Versionsverwaltung ist sowieso Pflicht. Capistrano tut letztilch nichts anderes als dein Repository auschecken, Dateien hochladen und immer wiederkehrende Aufgaben automatisieren.

Daten die nicht in der Versionsverwaltung sind (beispielsweise irgendwelche Uploads/Bilder von Usern oder riesige PDFs) müssen eben auch "reingesymlinkt" werden. Heißt: Ich lege irgendwo ein /shared-Verzeichnis an, dort rein kommt der ganze Kram der bei jeder Version gleich ist. Wenn ich bspw. ein Verzeichnis /upload habe wo Benutzer ihre Dateien hochladen können lege ich /shared/upload an. Immer wenn ich jetzt eine neue Version deploye muss ich am Ande nur innerhalb des neuen /release/version-xyz/ einen Symlink "upload" anlegen der auf dieses shard/upload zeigt.
Klingt erstmal umständlich - aber das machst du ja nicht händisch sondern automatisiert.
__________________
Today you...Tomorrow me.

Geändert von agrajag (03.08.2009 um 16:30 Uhr).
agrajag ist offline   Mit Zitat antworten
Alt 03.08.2009, 18:31  
Neuer Benutzer
 
Benutzerbild von bionickid
 
Registriert seit: 11.07.2009
Beiträge: 13
PHP-Kenntnisse:
Anfänger
bionickid befindet sich auf einem aufstrebenden Ast
Standard

ergänz kurz for dem update die serverseitige form validierung durch eine "update läuft" meldung. dadurch bleiben die form-daten erhalten.
update ausführen validierung wieder rausnehmen.

systemunabhängige daten auf jeden fall in ein content od. shared verzeichnis.
bionickid ist offline   Mit Zitat antworten
Alt 03.08.2009, 19:05  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Es ist schon so, wie Asipak es schrieb: Mit "neuer Prozess" meinte ich das Starten eines Skriptes mit einem Formular, um neue Daten einzugeben bzw. Daten zu ändern.
Dieser Prozess endet, sobald das Formular abgeschickt und die Daten in die DB geschrieben wurden.

Was "diese Aktionen voneinander unterscheidet" ist das bereits von mir erwähnte $_POST, das beim Absenden eines Formulars mit Daten gefüllt ist.
Das ist aber ein Denkfehler. Deswegen habe ich gefragt: Ein Formularaufruf ist erstmal nur ein GET-Request. Und, Ein Formularaufruf ist auch noch gar kein Zeichen, ob auch wirklich Daten eingegeben werden, sprich, ob ein aktiver Prozess geschieht. Du hast also gar keine Kontrolle darüber, ob da jemand arbeitet oder sich derjenige standardmässig das Form aufruft und gerade beim Mittagessen ist. HTTP bietet weder Zustände noch periodische Kontrolle von Seiten, es ist ein reines Abfrage-Antwort-Protokoll.
Zudem ist das auch vollkommen wurscht, solange die Formularaction sowieso über den Frontcontroller läuft, kannst Du ohnehin nur alles oder nichts ändern.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 04.08.2009, 20:37  
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

Ich habe schändlicherweise nur den Anfangspost gelesen ..

Wir machen das bei Upgrades so, dass wir natürlich alle per Messaging-System informieren, d.h. bei einem neuen Request bekommt der Benutzer sofort einen Hinweis auf die Nachricht, außerdem gehen Mails raus. Wir haben da allerdings eine gewisse Vorwarnzeit.

Vor dem Upgrade werden alle User (außer uns Admins) gebannt, d.h. wenn jemand trotzdem weiterarbeitet, wird er beim nächsten Request ausgeloggt - ABER - ausloggen heißt bei uns nur, dass sich das Controller-Plugin meldet, sprich es gibt keine Weiterleitung, sondern statt dem eigentlichen Inhalt wird der Login angezeigt. Die Idee war einmal bei uns - und das könntest du dir überlegen - einen Post-Request im ausgeloggten Zustand zu speichern (serialize($_POST) und ab in die Session damit). Loggt sich der Benutzer nun mit der selben Session erfolgreich ein - wenn also unser Upgrade erfolgreich war und kein Benutzer mehr gebannt ist - könnte man in der Session (bleibt ja die selbe, ist halt nur "eingeloggt") diesen serialisierten $_POST auslesen an eine entsprechende HttpRequest-Klasse (cURL, Zend_Controller_Request_Http, ..) übergeben und die Anfrage erneut abschicken. Da die URL ja dank des Controller-Plugins die selbe geblieben ist, sollte es möglich sein, die Arbeit wie gewohnt fortzufahren. Natürlich musst du beim Wegsichern des $_POST-Array unterscheiden, ob es nun ein erneuter erfolgloser Login-Request war, oder eben der initial gescheiterte.

Wir haben die Idee verworfen, weil eigentlich keiner mehr arbeiten sollte, wenn wir es groß vorher angekündigt hatten, außerdem könnte damit die Session zugemüllt werden.

Tut mir Leid, falls dir das schon vorgeschlagen wurde, ich hatte einfach keine Lust drei Seiten nachzulesen
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 05.08.2009, 08:25  
Erfahrener Benutzer
 
Registriert seit: 27.08.2004
Beiträge: 239
vollkommenegal
Standard

Danke, Chriz, für Deine Ausführungen.

Zitat:
Zitat von Chriz Beitrag anzeigen
Tut mir Leid, falls dir das schon vorgeschlagen wurde, ich hatte einfach keine Lust drei Seiten nachzulesen
Nee, ist schon okay. Was ich allerdings witzig finde: Du beschreibst über mehrere Zeilen einen interessanten Prozess und als Abschluss dann "Wir haben die Idee verworfen,..."

cya
vollkommenegal 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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] UPDATE wird trotz if clause vor SELECT ausgeführt Slithers Datenbanken 2 10.06.2009 16:13
Fehler beim kompilieren von php 5.2.9 malio Server, Hosting und Workstations 11 05.06.2009 18:40
Insert ... On duplicate key update Jacke Datenbanken 2 08.04.2009 14:11
Update funktion david1985 PHP Tipps 2009 7 28.03.2009 03:20
[Erledigt] MY SQL Update will nicht feeet PHP Tipps 2008 5 30.10.2008 13:57
system() flush und Safari webbi PHP-Fortgeschrittene 6 07.07.2008 21:30
Update / syntaxfehler prinzli Datenbanken 7 24.11.2007 21:24
ComputerVerwaltung / System / Ereignisanzeige dh1sbg PHP-Fortgeschrittene 3 17.11.2006 01:42
zwei SQL-Befehle (SELECT UND UPDATE) auf einmal vollziehen. Datenbanken 3 09.03.2006 16:34
UPDATE count nach Link Aufruf ? PHP Tipps 2006 9 22.01.2006 14:53
per Update eine zahl ehöhen lassen Datenbanken 3 04.07.2005 16:37
Update in mysql funzt nicht maeck PHP Tipps 2005-2 4 27.06.2005 22:52
PHP5 Update. XAMPP oder manuelles Update? PHP-Fortgeschrittene 7 21.04.2005 22:16
Update per Cronjob (where Feld = Wort) Apfeltyp PHP Tipps 2004-2 3 14.12.2004 18:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:46 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