SAFE_MODE nach Änderung an php.ini

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SAFE_MODE nach Änderung an php.ini

    Hallo Zusammen,

    Habe eine Änderung an der php.ini vornehmen wollen: memory_limit = 8M auf z.B. 256M erhöhen, da ich mit einem Script Zippen will, und das daher viel Speicher braucht.
    Wenn ich die php.ini dann wieder speichere, den apache neu starte, läuft ärgerlicherweise alles unter dem SAFE_MODE.

    Fehler Meldung beim start z.B. eines Sessionscripts:
    Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect. The script whose uid is 501 is not allowed to access /var/tmp/ owned by uid 0 in

    Mein Zipper-Script funktioniert jetzt jedoch einwandfrei, nutzt mir aber nichts, da ich mit dem Safe_mode nichts anfangen kann.

    Das ganze Problem muss Aufgrund ausführlicher Test und Pröbeleien an den Berechtigungen der geänderten php.ini Datei liegen. Lade ich nämlich die gebackupte original php.ini datei zurück und starte den apache neu, dann ist der SAFE_MODE wieder aus.

    Berechtigungen: schaue ich mir mit php die Berechtigungen an, so hat die Original-php.ini 664, die geänderte php.ini hat 775. Leider verweigert mir das System die Änderung der Rechte an der php.ini per chmod:

    Warning: chmod() [function.chmod]: Operation not permitted
    Auch mit Tricks geht's nicht... :-(

    Unter früheren Betriebssystemen konnte man unter "Informationen" die Berechtigungen einer Datei an "System" übergeben. Unter OS 10.5.6 suche ich dies leider vergeblich, obwohl "System" ab und zu auftaucht.
    Die jetzigen Berechtigungen im Finder für die Original php.ini sind:
    -Ich = Lesen und Schreiben, admin = Lesen und Schreiben, everyonne: Lesen
    die geänderte php.ini zeigt dieselben Rechte an.
    Lasse ich z.B. die benachbarte Datei pool.conf anzeigen, steht hier:
    System = Lesen und Schreiben, admin= Lesen und Schreiben, everyone: Lesen

    Wie kann ich die geänderte php.ini unter Leopard OS10.5.6 wieder dem System übergeben?? Unter älteren OS ging das unter "Sharing und Zugriffsrechte".
    Weiss jemand weiter?

    Angaben zu meinem System: Mac OS10.5.6, Intel Quad, php5.2.6 im neuesten xampp packet

    PS: save_mode ist in php.ini natürlich auf OFF gestellt...

  • #2
    Diese php.ini mit SafeMode=Off wird offensichtlich gar nicht benutzt. Die Ausgabe von phpinfo() müßte das bestätigen.
    System ist der "Anzeigename" von root. Versuchs mit chown.

    Kommentar


    • #3
      Ein schnelltest hat leider nichts gebracht:

      Warning: chown() [function.chown]: Operation not permitted

      oder

      Warning: chown() [function.chown]: Unable to find uid for 501

      chown scheint mir jedoch in die richtige Richtung zu gehen.
      hab als User "root", plus numerische ID's (664) verwendet. Muss jetzt leider ausm Haus, werd morgen weitertesten.

      mit dem scriptchen auf php.net:

      PHP-Code:
      // Check the result
      $stat stat($path);
      print_r(posix_getpwuid($stat['uid'])); 
      krieg ich ne Ausgabe: [uid] => 501 [gid]
      Muss die Berechtigung für's System auf 501 sein? 501 hat er jeodch auch nicht akzeptiert.

      php.ini wird übrigens normal geladen, soweit ich das aus der phpinfo entnehmen kann. Dort schaltet er mir den save_mod jedoch explizit auf ON, obwohls in php.ini ausgeschaltet ist.
      ??

      Über alle Antworten/Vorschläge freue ich mich natürlich jetzt schon, vielen Dank!

      Grüsse Guido

      Kommentar


      • #4
        $stat['uid'] ist die User-ID des Owners! Du verwechselst das mit den Filepermissions.

        Einfaches chmod kann nicht funktionieren. Du hast doch bereits festgestellt, dass nur Admins und Root schreiben dürfen. Also: sudo chmod!

        Statt die php.ini auszutauschen und dann bei der neuen Owner und Permissions hinzufummeln, könntest du die alte auch einfach verändern. Natürlich auch nur als Admin oder Root, also mit sudo cat neue-php.ini > php.ini.

        Kommentar


        • #5
          Hallo onemorenerd

          Hab die Berechtigungen geändert. Hab in der Shell folgenden Befehl eingegeben:

          chmod 664 /applications/xampp/etc/php.ini.txt

          Wenn ich nun die Berechtigungen anschaue, hat die alte sowie die neue php.ini nun 664.

          php startet aber immernoch im SAVE_MODE.

          Statt die php.ini auszutauschen und dann bei der neuen Owner und Permissions hinzufummeln, könntest du die alte auch einfach verändern. Natürlich auch nur als Admin oder Root, also mit sudo cat neue-php.ini > php.ini.
          Das hab ich versucht. Ich lade die php.ini.txt einfach in mein TextWarngler, ändere das memory_limit und speichere die Datei wieder. Aber sobald ich sie speichere, werde ich owner der Datei. Ich bin Root und Admin auf der Kiste, ansonsten könnte ich die Datei auch nicht ändern, oder? Ich kann mich ja nicht also Root anmelden. Kann ich die Datei nicht einfach wieder (wie z.B. unter Panther) ans System übergeben?

          Kann ich die php.ini auch von der Shell aus ändern?? Mit sudo cat kann ich leider nicht viel anfangen, hab gegoogelt, kann aber mit den gefunden Hinweisen auch nichts anfangen.
          Was anderes, das mich beunruhigt: Meine TimeMachine hat gemotzt, dass mein Backup-Volume schreibgeschützt ist. Ich hoffe nur, das jetzt nicht der Berechtigungssalat losgeht...

          Grüsse

          guido

          Kommentar


          • #6
            Ich lade die php.ini.txt einfach in mein TextWarngler
            .txt .... ???


            Was haben die chmod Rechte mit dem safe_mode zu tun?
            Richtig! Gar nix!

            Und eine OFF Einstellung teleportiert nicht aus eigener Kraft zu ON.
            Auch Geister, Psi und andere seltsamme Dinge würde ich ausschließen.

            Du baust da Mist, aber KA welchen.
            Wir werden alle sterben

            Kommentar


            • #7
              Wenn du eine bessere Idee hast, wie man die php.ini ändert, dann lass es mich doch wissen.

              Den Rest macht das System schon selbst durcheinander: Wie gesagt: kopier ich die Original php.ini-Datei in /applications/xampp/etc/ dann läuft php normal, wenn ich meine geänderte php.ini in /applications/xampp/etc/ speichere, dann ist SAVE_MODE ON, obwohl es OFF ist in der php.ini.
              Der einzige Unterschied der Dateien ist das neue Speicherdatum, die Benutzerrechte die sich geändert haben, sowie das memory_limit das ich auf 512MB erhöhe. Unter OS10.5.6 kann man leider nicht mehr unter Command I den Eigentümer der Datei auf SYSTEM setzten.

              Kommentar


              • #8
                Original geschrieben von meistereder
                Das hab ich versucht. Ich lade die php.ini.txt einfach in mein TextWarngler, ändere das memory_limit und speichere die Datei wieder.
                Na hoffentlich ohne .txt am Ende!
                Aber sobald ich sie speichere, werde ich owner der Datei. Ich bin Root und Admin auf der Kiste, ansonsten könnte ich die Datei auch nicht ändern, oder?
                Du bist garantiert nicht Root! Tipp mal ins Terminal

                id root
                id <deinAccountname>

                dann weißt du bescheid.

                Kann ich die Datei nicht einfach wieder (wie z.B. unter Panther) ans System übergeben?
                Natürlich, habe ich doch schon gesagt. Geht afaik auch wirklich nur mit chown im Terminal. Keine Ahnung was es da in der Panther-GUI gab. Gibts jedenfalls nicht mehr.

                Kann ich die php.ini auch von der Shell aus ändern?? Mit sudo cat kann ich leider nicht viel anfangen, hab gegoogelt, kann aber mit den gefunden Hinweisen auch nichts anfangen.
                Dann mach mal ein Terminal auf und tippe

                man sudo
                man cat

                "cat neue-php.ini" gibt den Inhalt der Datei auf der Konsole aus. Mit "> php.ini" wird die Ausgabe von der Konsole in die Datei umgeleitet. Und "sudo" führt das alles als Root aus - vielleicht ist das unnötig, aber es schadet auch nicht.

                Was anderes, das mich beunruhigt: Meine TimeMachine hat gemotzt, dass mein Backup-Volume schreibgeschützt ist.
                Und wenn schon?

                chmod -R ugo+rwx /Volumes/<TimeMachineDisk>

                Kommentar


                • #9
                  phpinfo() sagt dir welche php.ini gerade benutzt wird.
                  Es kann durchaus mehrere im System geben.
                  Aber eine php.ini.txt wird GANZ SICHER von php ignoriert.
                  Wir werden alle sterben

                  Kommentar


                  • #10
                    Hey, hat geklappt, vielen Dank!

                    Die Sache mit der php.ini und php.ini.txt war Folgende: Wenn ich php.ini per Texteditor ändern will, muss ich meinen Editor ja soweit überlisten, dass er mir die Datei öffnet. Wenn ich .txt hinten anhänge, macht er mir die Datei auf, ich kann die Werte ändern, wieder Speichern und nacher .txt wieder wegnehmen. Deshalb php.ini.txt. Dumm ist nur, dass das System im Hintergrund und Unsichtbar die Endung .txt behält. Wenn ich die Datei dann wieder ins /etc Verzeichnis schiebe und Apache neu starte, wird die geänderte php.ini nicht geladen, was mir phpinfo() und LOADED CONFIGURATION FILE anzeigt, nämlich: none.

                    Führe ich nun Dein cat Befehl aus, lade ich die php.ini.txt und überschreibe die php.ini was er schön brav macht. Beim Neustart von Apache wird dies nun erkannt und richtig geladen mit den neuen Einstellungen, siehe phpinfo.

                    Beim Stöbern hab ich noch was anderes entdeckt:

                    ini_set , ini_get...

                    Vielleicht kann ich da was Sciptbasierendes basteln, damit mir die Einstellung nur beim zipperscript geändert wird. Mal schauen.

                    Danke für die Hilfe,

                    Kommentar


                    • #11
                      Für alle, die mal nen Wert einmalig für ein Scirpt verstellen wollen, nutzen doch ini_set.

                      z.B. ini_set('memory_limit','1024M');
                      oder ini_set('memory_limit','-1');

                      ...hoffentlich hält's der Server aus,

                      Grüsse

                      Guido

                      Kommentar


                      • #12
                        Original geschrieben von meistereder
                        Wenn ich .txt hinten anhänge, macht er mir die Datei auf, ich kann die Werte ändern, wieder Speichern und nacher .txt wieder wegnehmen. Deshalb php.ini.txt. Dumm ist nur, dass das System im Hintergrund und Unsichtbar die Endung .txt behält.
                        Das sind so Dinge, an denen ich mich freue nirgends mehr ein Windows anfassen zu müssen.

                        Kommentar


                        • #13
                          Das sind so Dinge, an denen ich mich freue nirgends mehr ein Windows anfassen zu müssen.
                          Angaben zu meinem System: Mac OS10.5.6, Intel Quad, php5.2.6 im neuesten xampp packet
                          Selbst ein Windows macht nicht so einen Mist

                          Kommentar


                          • #14
                            Ups, sorry.

                            Dann bin ich auch noch froh keine Mac benutzen zu müssen. :P

                            Aber machen Macs wirklich standardmäßig irgendwo ein .txt hinter?

                            Kommentar


                            • #15
                              OffTopic:
                              Manchmal habe ich das Gefühl seit iPod und iPhone sitzen die größten DAUs for shiny-white-and-glossy Kisten ... so ganz subjektiv - schick sehen se ja aus
                              [FONT="Helvetica"]twitter.com/unset[/FONT]

                              Shitstorm Podcast – Wöchentliches Auskotzen

                              Kommentar

                              Lädt...
                              X