ftdesigner: .access code

Hallo,

Ich möcht nun nicht ne grosse Diskusion eröffnen und ich hoffe, dass ich den richtigen Themenbereich gewählt hab.

Über ini_set kann ich post_max_size nicht einstellen.

Wie muss ich den code erstellen, wenn ichs ins .htaccess schreibe?

Genügt es wenn ich einfach dies schreibe:

php_value post_max_size 20M

oder muss da noch sowas wie bei php codes rein? <?php ?>(natürlich nicht genau das)

Vielen dank jetzt schon.

Greets Ftdesigner

--
Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
  1. Hellihello

    sowas zB. geht:

    php_value date.timezone "UTC"

    php_value short_open_tag "1"

    php_value error_reporting "8191"

    php_value display_startup_errors "1"

    php_value display_errors "1"

    "pur" so in der .htaccess. Wenn Du es über ini_set nicht einstellen kannst, wieso geht es dann über die .htaccess?

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. | "pur" so in der .htaccess. Wenn Du es über ini_set nicht einstellen kannst, wieso geht es dann über die .htaccess?

      Hmmm... ich habs nur gehofft. Das heisst, dass mein Webhoster mir dies nicht gestattet? Das ist gar nicht gut...
      über ini_set funktioniert nur das max_execution_time, alles andere lässt sich nicht einstellen...wie ärgerlich

      --
      Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
    2. echo $begrüßung;

      "pur" so in der .htaccess. Wenn Du es über ini_set nicht einstellen kannst, wieso geht es dann über die .htaccess?

      ini_set() ist eine Funktion, die zur Script-Laufzeit ausgeführt wird. Das Auswerten der Formulardaten und URL-Parameter zum Zwecke der Bereitstellung in $_GET/$_POST/$_FILES findet vor dem Scriptstart statt. Danach erst Einstellungen ändern zu wollen, die auf Handlungen im Vorfeld einwirken sollen, ...

      echo "$verabschiedung $name";

      1. Hellihello dedlfix,

        ini_set() ist eine Funktion, die zur Script-Laufzeit ausgeführt wird. Das Auswerten der Formulardaten und URL-Parameter zum Zwecke der Bereitstellung in $_GET/$_POST/$_FILES findet vor dem Scriptstart statt. Danach erst Einstellungen ändern zu wollen, die auf Handlungen im Vorfeld einwirken sollen, ...

        Und wo reiht sich da die .htaccess ein? Es findet doch auch erst ein Request statt, oder?

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. echo $begrüßung;

          Und wo reiht sich da die .htaccess ein? Es findet doch auch erst ein Request statt, oder?

          Der Request kommt beim Apachen an. Der hat in seiner Konfiguration stehen, dass dieser Request von PHP bearbeitet werden soll. PHP ist in dem Fall bereits als Modul gestartet. Der Apache übergibt die Steuerung an PHP, welches anfängt, sich für diesen Request vorzubereiten und dabei auch mit den Konfigurationswerten des Verzeichnisses seine Default-Konfiguration überschreibt. PHP wertet die Parameter des Requests aus, legt sie in die bekannten Datenstrukturen und fängt dann an, den Scriptcode auszuführen. (Oder es bricht davor ab, weil bestimmte Bedingungen eine Fehlermeldung erfordern.)

          echo "$verabschiedung $name";

          1. Hellihello

            Der Request kommt beim Apachen an. Der hat in seiner Konfiguration stehen, dass dieser Request von PHP bearbeitet werden soll. PHP ist in dem Fall bereits als Modul gestartet. Der Apache übergibt die Steuerung an PHP, welches anfängt, sich für diesen Request vorzubereiten und dabei auch mit den Konfigurationswerten des Verzeichnisses seine Default-Konfiguration überschreibt. PHP wertet die Parameter des Requests aus, legt sie in die bekannten Datenstrukturen und fängt dann an, den Scriptcode auszuführen. (Oder es bricht davor ab, weil bestimmte Bedingungen eine Fehlermeldung erfordern.)

            D.h. der Apache lädt erst per input-type-file übermittelten datenstrom (?) hoch, bzw. php (???) bevor das script mal böswilligerweise angenommen einen header sendet wie 401 - page not found?

            Dank und Gruß,

            frankx

            --
            tryin to multitain  - Globus = Planet != Welt
            1. echo $begrüßung;

              D.h. der Apache lädt erst per input-type-file übermittelten datenstrom (?) hoch, bzw. php (???) bevor das script mal böswilligerweise angenommen einen header sendet wie 401 - page not found?

              Ein PHP-Script bekommt erst nach vollständigem Eingang des Requests die Steuerung übergeben. Es kann ja nur auf die bekannten Arrays zugreifen, um an die Daten zu kommen. Und es ist kein vorhersagbares Verhalten möglich, wenn sich während der Scriptlaufzeit noch Variableninhalte ändern, nur weil einige Werte erst später eintrudeln.

              Es gibt die PECL-Erweiterung uploadprogress, die mit Fileuploads zu tun hat, wobei die Idee dahinter ist, eine Fortschrittsanzeige realisieren zu können. Wie konkret das dabei abläuft, weiß ich nicht. Ohne diese Erweiterung jedoch verhält sich PHP wie bereits beschrieben.

              echo "$verabschiedung $name";

            2. Hi,

              D.h. der Apache lädt erst per input-type-file übermittelten datenstrom (?) hoch, bzw. php (???) bevor das script mal böswilligerweise angenommen einen header sendet wie 401 - page not found?

              Abgesehen davon, dass der Fehlercode fuer Not Found 404 ist - wenn der Apache merkt, dass er den Request nach Abschluss der ueblichen Schritte auf diesem Weg (ALIASes anwenden, URL-to-path-Translation, mod_rewrite, etc.) keinem PHP-Script zuordnen kann, dann wird er auch den PHP-Interpreter nicht belaestigen.

              Anders ist das aber natuerlich, wenn durchaus ein PHP-Script existiert, das fuer den Request "zustaendig" ist, und dieses selber in seinem Verlauf dann erst mit einem abweisenden HTTP-Header antwortet.

              MfG ChrisB

              --
              „This is the author's opinion, not necessarily that of Starbucks.“
              1. Hellihello

                Anders ist das aber natuerlich, wenn durchaus ein PHP-Script existiert, das fuer den Request "zustaendig" ist, und dieses selber in seinem Verlauf dann erst mit einem abweisenden HTTP-Header antwortet.

                Ja, das meinte ich. Es ist also so:

                Der Apache arbeitet mit seiner eigenen Config, übernimmt als letztes noch die in der .htaccess dazu und "übergibt" dann, im Falle eines als zuständig befunden php-Scripts an dieses weiter. Dann lädt er erstmal allen krempel noch, wenn das gefragt ist, und erst wenn er 20 MB Datei per Formular-angabe hochgeladen hat (Post und Get kommen auch erst dann?), fängt das PHP-Script mit der Abarbeitung an. Korrekt?

                Dank und Gruß,

                frankx

                --
                tryin to multitain  - Globus = Planet != Welt
                1. Hi,

                  Der Apache arbeitet mit seiner eigenen Config, übernimmt als letztes noch die in der .htaccess dazu und "übergibt" dann, im Falle eines als zuständig befunden php-Scripts an dieses weiter. Dann lädt er erstmal allen krempel noch, wenn das gefragt ist, und erst wenn er 20 MB Datei per Formular-angabe hochgeladen hat (Post und Get kommen auch erst dann?), fängt das PHP-Script mit der Abarbeitung an. Korrekt?

                  Wenn der Apache zu den Angaben im Request Header ein "zustaendiges" Script ausfindig machen konnte, dann nimmt er zunaechst mal den kompletten Request-Body an, den der Client sendet, sofern dieser nicht zu seiner eigenen Konfiguration kontraer laeuft - also z.B. ein im Apache gesetztes Limit fuer die (POST-)Request-Groesse ueberschreitet.
                  Wenn das abgeschlossen ist, dann wendet sich der Apache an PHP, "hier hast du den ganzen Krempel, mach mal was damit". Der PHP-Interpreter schaut sich das ganze jetzt erst mal an, wie dedlfix schon schrieb - er schaut erst mal, ob vielleicht seine eigenen Limits "verletzt" wurden, was die Groesse z.B. eines Dateiuploads angeht. Dann geht er hin, droeselt den Request auf, stellt ueber GET/POST/COOKIE uebermittelte Werte in den entsprechenden Superglobalen bereit, fuellt weitere Umgebungsvariablen, etc. - und dann macht er sich an die Abarbeitung des Scriptes.

                  MfG ChrisB

                  --
                  „This is the author's opinion, not necessarily that of Starbucks.“
                  1. Hellihello

                    Wenn der Apache zu den Angaben im Request Header ein "zustaendiges" Script ausfindig machen konnte, dann nimmt er zunaechst mal den kompletten Request-Body an, den der Client sendet, sofern dieser nicht zu seiner eigenen Konfiguration kontraer laeuft - also z.B. ein im Apache gesetztes Limit fuer die (POST-)Request-Groesse ueberschreitet.
                    Wenn das abgeschlossen ist, dann wendet sich der Apache an PHP, "hier hast du den ganzen Krempel, mach mal was damit". Der PHP-Interpreter schaut sich das ganze jetzt erst mal an, wie dedlfix schon schrieb - er schaut erst mal, ob vielleicht seine eigenen Limits "verletzt" wurden, was die Groesse z.B. eines Dateiuploads angeht. Dann geht er hin, droeselt den Request auf, stellt ueber GET/POST/COOKIE uebermittelte Werte in den entsprechenden Superglobalen bereit, fuellt weitere Umgebungsvariablen, etc. - und dann macht er sich an die Abarbeitung des Scriptes.

                    Nun doch nochmal nachgefragt: wenn dem Apachen in der .htaccess ein php_value zugeorndet wird, reicht er das dann nicht einfach an PHP erst in dem Moment weiter, wo ein PHP-Script sein Ziel ist? Und schon alles zu spät ist, was den Request-Body angeht?

                    Dank und Gruß,

                    frankx

                    --
                    tryin to multitain  - Globus = Planet != Welt
                    1. Hi,

                      Nun doch nochmal nachgefragt: wenn dem Apachen in der .htaccess ein php_value zugeorndet wird, reicht er das dann nicht einfach an PHP erst in dem Moment weiter, wo ein PHP-Script sein Ziel ist?

                      Ja, natuerlich.
                      Per .htaccess gemachte Angaben zur Konfiguration von PHP sind nur fuer PHP interessant.

                      Und schon alles zu spät ist, was den Request-Body angeht?

                      Wie gesagt, das gilt z.B. fuer ein Upload-Limit seitens PHP.
                      Aber auch der Apache selber kann eigene Limits gesetzt haben, so dass er einen Request schon ablehnt, bevor PHP zum Zuge kommt. (Z.B. sowas wie LimitRequestBody.)

                      MfG ChrisB

                      --
                      „This is the author's opinion, not necessarily that of Starbucks.“
                      1. Hellihello

                        »» Nun doch nochmal nachgefragt: wenn dem Apachen in der .htaccess ein php_value zugeorndet wird, reicht er das dann nicht einfach an PHP erst in dem Moment weiter, wo ein PHP-Script sein Ziel ist?

                        Ja, natuerlich.

                        Das heißt doch aber, dass es sowieso bereits zu spät ist, bzw. egal, ob ich das upload-limit in der .htaccess festlege oder in per ini_set, denn der Apache lädt ja erstmal sowieso den Request-Body, also auch ggf. Files.

                        Per .htaccess gemachte Angaben zur Konfiguration von PHP sind nur fuer PHP interessant.

                        »» Und schon alles zu spät ist, was den Request-Body angeht?

                        Wie gesagt, das gilt z.B. fuer ein Upload-Limit seitens PHP.

                        Genau, darum ging es ja ursprünglich. Das wollte ich für mich nur klären.

                        Aber auch der Apache selber kann eigene Limits gesetzt haben, so dass er einen Request schon ablehnt, bevor PHP zum Zuge kommt. (Z.B. sowas wie LimitRequestBody.)

                        Das schon klar, aber nicht mit php_value oder ini_set (;-).

                        Dank und Gruß,

                        frankx

                        --
                        tryin to multitain  - Globus = Planet != Welt
                        1. Hi,

                          Das heißt doch aber, dass es sowieso bereits zu spät ist, bzw. egal, ob ich das upload-limit in der .htaccess festlege oder in per ini_set, denn der Apache lädt ja erstmal sowieso den Request-Body, also auch ggf. Files.

                          Per ini_set kannst du es nicht mehr festlegen, weil es dann bereits zu spaet ist. ini_set steht *in* deinem Script - wenn das abgearbeitet wird, hat PHP seine "Vorbereitungen", zu denen u.a. auch das eventuelle Befuellen von $_POST und $_FILES gehoert, schon laengst erledigt.

                          MfG ChrisB

                          --
                          „This is the author's opinion, not necessarily that of Starbucks.“
                          1. Hellihello

                            Hi,

                            »» Das heißt doch aber, dass es sowieso bereits zu spät ist, bzw. egal, ob ich das upload-limit in der .htaccess festlege oder in per ini_set, denn der Apache lädt ja erstmal sowieso den Request-Body, also auch ggf. Files.

                            Per ini_set kannst du es nicht mehr festlegen, weil es dann bereits zu spaet ist. ini_set steht *in* deinem Script - wenn das abgearbeitet wird, hat PHP seine "Vorbereitungen", zu denen u.a. auch das eventuelle Befuellen von $_POST und $_FILES gehoert, schon laengst erledigt.

                            Ok, den Unterschied von "der Apache hat das File schon hochgeladen" und "PHP hat die Variablen auch unternommen" hatte ich nicht gesehen. Aber ist das "relevant"? Wenn der Apache eh schon 10MB hochgeladen hat, macht es in irgendwelchen Zusammenhängen Sinn, PHP schon zu verbieten, mit $_FILES auf die Server-Var zu verweisen? Vermutlich, aber die 10MB sind doch bereits auf dem Server so oder so, oder?

                            Dank und Gruß,

                            frankx

                            --
                            tryin to multitain  - Globus = Planet != Welt
      2. Hellihello

        echo $begrüßung;

        »» "pur" so in der .htaccess. Wenn Du es über ini_set nicht einstellen kannst, wieso geht es dann über die .htaccess?

        ini_set() ist eine Funktion, die zur Script-Laufzeit ausgeführt wird. Das Auswerten der Formulardaten und URL-Parameter zum Zwecke der Bereitstellung in $_GET/$_POST/$_FILES findet vor dem Scriptstart statt. Danach erst Einstellungen ändern zu wollen, die auf Handlungen im Vorfeld einwirken sollen, ...

        http://docs.php.net/manual/de/ini.list.php gibt post_max_size als einstellbaren Wert an. Und darauf wird verwiesen in http://docs.php.net/ini_set: "Not all the available options can be changed using ini_set(). There is a list of all available options in the appendix."

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. echo $begrüßung;

          http://docs.php.net/manual/de/ini.list.php gibt post_max_size als einstellbaren Wert an.

          Diese Liste hat eine Spalte Namens Changeable / Änderbar. Dem dortigen Wert kann man entnehmen, an welcher Stelle eine Konfigurationsdirektive prinzipiell geändert werden kann. Bei denjenigen, die die GPC-Werte beeinflussen, wirst du maximal PHP_INI_PERDIR finden.

          echo "$verabschiedung $name";