register_globals is disabled...wie umstellen?

m0mo

Aktives Mitglied
Thread Starter
Dabei seit
26.03.2005
Beiträge
478
Reaktionspunkte
2
Hallo Leute,
ich wollte gerade einmal oscommerce beim besten webspaceanbieter, dem localhost zum laufen bringen aber gleich zum anfang kommt diese meldung

FATAL ERROR: register_globals is disabled in php.ini, please enable it!

Nun, eine php.ini gibts bei mir nicht, umstellen wuerde ich es trotzdem gerne (naja, eigentlich nicht gerne, weiss jemand ob die globals eigentlich bei gaengigen webhostern eingeschaltet sind? ansonsten bringt der shop ja herzlich wenig :) )

wie kann ich das bewerkstelligen?

Danke fuer eure Hilfe!

mfg
m0mo
 
Hi!

Schreib doch dem Support Deiens Providers eine Mail und bitte ihn, die Register Globals auf "on" zu setzen. Vorausgesetzt, die machen das auch... sollte aber in der Regel kein Problem sein!
 
gut, das werde ich machen, ich wuerde den shop aber trotzdem erstmal bei mir zu haus zum laufen bringen wollen?

und der chef vom lokalhost (glaube ich zumindest) bin noch immer ich :)
wenn ich mir selber schreiben koennte und auch noch ne antwort bekommen wuerd, da waer ich gluecklich.

mfg
m0mo
 
es gibt irgendwo (unter /etc glaube ich bei Linux) eine php.ini, da musst du register_globals auf on stellen....

Mach dir aber vorher klar, was das bedeutet
 
hey gewoldi,

also auf meinem mac gibts keine php.ini, das sagt spotlight und meine eigene suche.

und was das mit den globals auf sich hat, weiss ich schon.
schoen finde ichc es nicht unbedingt, aber so schlimm ist es auch nicht.


Weiss noch irgendjemand rat?
wie ich das vielleicht per console machen kann?

mfg
m0mo
 
Es hat schon einen Sinn, daß die automatische Registrierung von Parametern als globale Variablen mittlerweile standardmäßig deaktiviert ist: Bei unsauberem Code (oder auch bei sauberem, der aufgrund der Struktur für dieses Problem anfällig ist) kann das ganz schnell zu einer leichten Angreifbarkeit des Netzladens führen. Ich würde an deiner Stelle eher auf eine andere Lösung setzen, wenn oscommerce diese Einstellung erfordert.
 
Ulfrinn, das weiss ich doch alles. Ich hab das ja auch durch, frueher mies gecodet, dann auf nen anderen server gekommen und zack, alles anders :>


die sache ist die, dass oscommerce eine der besten freeware onlineshop loesungen ist und ich sie gerne fuer mich nutzen wuerde.

also, bitte: wenn es jemand weiss, tut mir doch den gefallen und sagt mir, wo ich das umstellen kann.

mfg
m0mo
 
m0mo schrieb:
Ulfrinn, das weiss ich doch alles. Ich hab das ja auch durch, frueher mies gecodet, dann auf nen anderen server gekommen und zack, alles anders :>


die sache ist die, dass oscommerce eine der besten freeware onlineshop loesungen ist und ich sie gerne fuer mich nutzen wuerde.

also, bitte: wenn es jemand weiss, tut mir doch den gefallen und sagt mir, wo ich das umstellen kann.

mfg
m0mo
Sie sollte eigentlich in /etc liegen. Im Zweifelsfall mußt du zunächst die /etc/php.ini.default kopieren. In der Datei ist auch die Option „register_globals“.
 
m0mo schrieb:
hey gewoldi,

also auf meinem mac gibts keine php.ini, das sagt spotlight und meine eigene suche.

Spotlight sucht in den entsprechenden Verzeichnissen vermutlich nicht, ich kann nur sagen, dass es auf meinen Servern /etc/php.ini ist. Aber auf dem Mac hab ich kein php laufen... versuch doch mal im terminal dein Glück..... Sorry dass ich nicht weiter helfen kann....
 
gewoldi schrieb:
Spotlight sucht in den entsprechenden Verzeichnissen vermutlich nicht, ich kann nur sagen, dass es auf meinen Servern /etc/php.ini ist. Aber auf dem Mac hab ich kein php laufen... versuch doch mal im terminal dein Glück..... Sorry dass ich nicht weiter helfen kann....
Absurderweise existiert die /etc/php.ini bei mir auch nicht, nur die Vorlage ist vorhanden – PHP stört das aber scheinbar nicht. ;)
 
notfalls kannst du auch MAMP istallieren ( http://www.mamp.info/de/home/ )... dann findest du die php.ini in
- programme/MAMP/bin/php4/lib/php.ini oder
- programme/MAMP/bin/php5/lib/php.ini
je nach eingestellter php-Version

edit-----
hey, das Forum is noch auf Sommerzeit....hab grad nen Schock bekommen als ich die Uhrzeit von dem Post gesehen hab ;-)
 
Zuletzt bearbeitet:
die php.ini wird nur gelesen, wenn sie an dem vordefinierten Ort (Das muß nicht /etc/ sein ) auch vorhanden ist ( logisch). Sonst wird eben mit Standardwerten gearbeitet. register_globals ist ab PHP4 deprecated, will sagen, man braucht es nicht mehr und man soll es nicht gebrauchen, weil es ein erhebliches SIcherheitrisiko darstellt. Sicher wird man keinen vernünftigen Webspace-Anbieter dazu bewegen register_globals zu aktiviern. Entweder Du hast also einen kompletten root-Server und viel Vertrauen in das Internet, dann kannst DU es umstellen - oder Du ersetzt alle globalen Aufrufe durch $_POST[] / $_GET[] wie ab PHP4 vorgesehen!
 
so, nachdem ich mal versteckte dateien hab anzeigen lassen, fand ich die datei

php.ini.default in der ich die register_globals auf On gestellt hab.

Der OsCommerce Shop gibt mir aber weiterhin die Fehlermeldung aus...

zur Info: ich habe dieses entropy paket installiert. vielleicht liegt diese php.ini ja woanders, wenn jemand weiss wo dann her damit :)

wegus, sorry, aber ich hab keine lust bei den ganzen php dateien von oscommerce den ganzen quelltext durchzufuchsen und das alles umzuaendern...

was ich mich die ganze zeit frage: warum arbeit oscommerce mit register_globals on?
die muessten diese sicherheitsluecke doch eigentlich kennen, oder?
oder sind sie so gut, dass sie durch ihr cleveres programmieren ausgeschlossen haben? :>

mfg
m0mo
 
spotlight findet viele dateien nicht. Lieber locate benutzen!
 
wow, locate ist ja genial :)
gut, habs jetzt gefunden...

aber dieses oscommerce scheint mir ziemlich bloed zu sein...wenn ich mir in deren foren mal die probleme anschaue...wirklich keine schnell schnell installation :)

mfg
m0mo
 
hey, du musst die php.ini.default auch nach /etc/php.ini kopieren, sonst juckt das PHP recht wenig :)

Grüße
sven
 
Eine Möglichkeit rauszufinden, wo PHP die php.ini erwartet ist, eine Datei folgenden Inhalts anzulegen:

Code:
<?php
phpinfo();
?>

z.B. unter dem Namen info.php in Rootverzeichnis des Webservers. Dann per Browser aufrufen ( http://localhost/info.php ). In der Textausgabe nach php.ini suchen, da steht der (erwartete) Pfad drin. Entsprechend kann man die Datei dann anlegen.

Grüße,
muecke.
 
oder sind sie so gut, dass sie durch ihr cleveres programmieren ausgeschlossen haben?

Manche halten sich für so clever ;) , es geht aber nicht!

id php.ini.default bewirkt GAR NICHTS! Sie ist nur ne Kopiervorlage. Du mußt sie nach php.ini kopieren und dort Veränderungen vornehmen. Die php.ini muß an dem Platz liegen, den phpinfo() Dir anzeigt. Willst Du sie woanders haben, mußt Du selbst ein PHP kompilieren und den ini-Pfad selbst angeben.
 
soooooo, jetzt mal zum neusten Stand.

habe per locate php.ini den richtigen Platz der datei gefunden, die mir dann auch ueber phpinfo angezeigt wird.

also hab ich im terminal open php.ini geschrieben und er hat mir die datei mit subethaedit goeffnet, ich hab die einstellung (ein off auf on) umgeschrieben und speicherte, wobei ich nach meinem passwort gefragt wurde.

nichts aenderte sich.
daraufhin hab ich neu hochgefahren (neustart des apache eventuell)
aber auch da aenderte sich nichts...also wieder php.ini oeffnen lassen und zack, ward aus dem on wieder ein off geworden.

ich vermute das es an den rechten liegt...d.h. mein user nicht die berechtigung besitzt, die datei zu ueberschreiben.

im terminal bin ich aber als superuser angemeldet...wie kann ich die php.ini im terminal anzeigen lassen und dann auch veraendern?

bin mit den befehlen leider nicht konform.

mfg
m0mo
 
Fürs Terminal gibts den vi ;-)

Allerdings mußt dich da kurz einarbeiten.

Evtl. bist von früher her den NortonCommander gewöhnt, einen Clone namens Midnight Commander kannst du per port oder fink installieren, der bringt auch einen "komfortablen" Editor mit.
 
Zurück
Oben Unten