Welche Systeme sollten Maßstab sein?

Diskussionen zur neuen Modulschnittstelle von ConPresso 4.
Achtung: Bitte nicht für modulspezifische Themen verwenden.
Antworten
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Welche Systeme sollten Maßstab sein?

Beitrag von MarkusR »

Alle die hier Codes entwickeln und anderen bereitstellen habe irgendwann das Problem, daß auf anderen Systemen irgendwann etwas einfach nicht läuft.

Nachdem man dann alle User-Fehler eliminiert hat, bleiben oft bestimmte Systemrestriktionen als Ursache übrig.

Z.B. register_globals= off oder safe_mode oder geringe Scriptlaufzeiten, zuwenig Speicher, merkwürdige Dateirechte, fehlende GD2 etc.

Was sollte man als untersten Standard bzw. Worst Case annehmen bzw. welche Einstellungen haben Euch schon mal einen Strich durch die Rechnung gemacht?

Ich glaube auch nicht, daß ein Entwickler auch die übelste Kiste eines Free-Hosters bedienen muss... ein gewisser Standard sollte schon sein, was sich meist auch im Preis ausdrückt... aber 5 bis 10 Euro im Monat sind doch nicht viel, oder? Stundenlanges Drumherumentwickeln um paranoide Einstellungen ist teurer..
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
CPS
ConPresso-User
Beiträge: 58
Registriert: 01.01.1970 01:00
Hat sich bedankt: 13 Mal
Danksagung erhalten: 1 Mal

Re: Welche Systeme sollten Maßstab sein?

Beitrag von CPS »

MarkusR hat geschrieben:Z.B. register_globals= off oder safe_mode oder geringe Scriptlaufzeiten, zuwenig Speicher, merkwürdige Dateirechte, fehlende GD2 etc.

Was sollte man als untersten Standard bzw. Worst Case annehmen bzw. welche Einstellungen haben Euch schon mal einen Strich durch die Rechnung gemacht?
safe_mode=on ist mittlerweile ja (nicht ganz grundlos) wohl der häufigste Konfigurationszustand, kann somit als Maßstab gelten. Mit open_basedir=on sollte man nach Möglichkeit rechnen.
Und register_globals=off ist IIRC ja mittlerweile die default-Einstellung, also sollte man auch davon ausgehen.
GD2 habe ich bisher überall vorgefunden, prima wäre da natürlich eine Option wahlweise ImageMagick zu verwenden, wenngleich mir das bei meinem Hoster derzeit nicht zur Verfügung steht. Aber wenn wir von Standards sprechen, dann ist das wohl eindeutig GD2.
upload_max_filesize steht üblicherweise nicht höher als 2MB. Wenn es also um das Bereitstellen größerer Dateien geht, irgendwie an die FTP-Variante bzw. die Möglichkeit diese Dateien im System zu nutzen denken.
MarkusR hat geschrieben:Ich glaube auch nicht, daß ein Entwickler auch die übelste Kiste eines Free-Hosters bedienen muss...
Absolut richtig. Das sollte dann zwar kein Freibrief sein, nicht auf effizienten Code achten zu müssen, aber Freehoster mit entsprechenden Einschränkungen bei der Laufzeit etc. können einfach kein Maßstab sein. 8MB Speicher würde ich als Untergrenze verstehen, die meisten Hoster die ich kenne liegen da schon einiges drüber, da Speicher ja keine kostspielige Investition darstellt. 12MB als Standard vorauszusetzen wäre aus meiner Sicht ok.

Gruß
Christian
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Was wird eigentlich alles durch den safe_mode außer Kraft gesetzt?

Es gibt zwar auf http://www.php.net/features.safe-mode eine Liste, aber da ist z.B set_time_limit nicht aufgeführt und es steht ja auch schon dabei
Diese Liste ist möglicherweise unvollständig und fehlerhaft!
Daß Systemfunktionen außer Kraft und Dateirechte auf den jeweiligen User eingeschränkt sind, ist schon klar und meist auch gut so, aber auch manch praktisches wird gekillt... oder?
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 01:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal
Kontaktdaten:

Beitrag von semf »

Aus gegebenem Anlass:
Die MySQL-Version sollte mind. 3.23 sein, da alles darunter kein 'IF NOT EXISTS' zulässt. Darauf bauen die Setups meiner Module auf - und deine glaube ich auch!
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

So ist das! :wink:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Also mit CPO sind wir schon auf einige absonderliche Server gestossen ;).

Im grossen und ganzen sollte man sich da keinen grossen Kopf drum machen.

Solange man fuer Uploads z.B. die richtigen Funktionen benutzt und nicht direkt im Dateisystem rumbastelt, gibt das normalerweise keine Probleme.

Wichtig ist auch noch CPO_BASEDIR. Diese Konstante sollte man benutzen, da sonst gelegentlich auf Servern das open_basedir dazwischenkommt (z.B. hatte ich schon Kontakt mit Servern, bei denen man nicht aus dem aktuellen Pfad includen durfte).

Nach Moeglichkeit sollte man ausserdem mit den Superglobals arbeiten $_GET, $_POST, $_REQUEST, $_SERVER, usw. ConPresso hat intern zwar einen Workaround fuer deaktivierte register_globals in der common.inc.php, aber guter Programmierstil ist durch sowas nicht zu ersetzen ;) - auch aus Sicherheitsgruenden.

Mein persoenlicher Liebling, die magic_quotes werden ebenfalls in der Datei unwirksam gemacht. Bei SQL-Abfragen ist darum ggfs. addslashes() noetig, bei Textausgaben grundsaetzlich htmlspecialchars().

Wenn man diese Punkte beachtet, funktioniert es eigentlich immer ganz gut.

Balu
Benutzeravatar
schoene
ConPresso-Entwickler
Beiträge: 274
Registriert: 01.01.1970 01:00
Hat sich bedankt: 7 Mal
Danksagung erhalten: 13 Mal

Beitrag von schoene »

Hallo zusammen,

noch mal ein kurzer Satz von meiner Seite - also nicht so technisch. Es geht eher um die Grundidee.

Je geringer die Systemvoraussetzungen, desto besser. Das gilt inbesondere für ConPresso selbst. PHP und MySQL in halbwegs aktuellen Versionen. That's it. So kann man das Basissystem betreiben.

Module können dann sicher auch erweiterte Voraussetzungen verlangen (siehe z.B. Bildergalerie).

Auf ein x Jahre altes System muss man sicher keine Rücksicht nehmen, auf das, was die Massenhoster so anbieten dann sicher schon.

Viele Grüße
Steffen
Antworten