piwik php.ini always_populate_raw_post_data=-1

  • Nachdem mein Wordpress Umzug zu Netcup funktioniert hat, möchte ich jetzt noch piwik installieren. Leider gab es auch hier eine Fehlermeldung. Ich habe für piwik eine subdomain "subdomain.domain.de" eingerichtet und den Ordner per FTP dort hin geladen. Beim Aufruf der Adresse im Internet steht dann bei der piwik-Systemprüfung unter:
    "Benötigte PHP Konfiguration (php.ini)"
    folgende Meldung:

    Zitat

    always_populate_raw_post_data=-1
    Um schwerwiegende Probleme zu verhinden, sollten Sie Folgendes in Ihrer php.ini
    setzen: always_populate_raw_post_data=-1
    Nach dieser Änderung müssen Sie den Webserver neu starten.

    Ich habe den gesamten Webspace durchsucht, da gibt es keine php.ini
    Kann ich einfach eine mit obigen Inhalt erstellen und wenn ja wo soll die hin?


    EDIT: das hier: Piwik unter PHP 5.6 - Bei All-Inkl installieren habe ich schon versucht. Funktioniert leider trotzdem nicht.

    Einmal editiert, zuletzt von ncf () aus folgendem Grund: Ergänzung

  • [Update] Die Lösung steht weiter unten: Beitrag #10


    --


    das hier: Piwik unter PHP 5.6 - Bei All-Inkl installieren habe ich schon versucht. Funktioniert leider trotzdem nicht.


    Bist Du sicher, dass Du es richtig gemacht hast? Das sollte normalerweise schon klappen.


    Wo genau hast Du die Datei abgespeichert? Unter welchem Dateinamen? Mit welchem Programm hast Du sie gespeichert? (Stichwort Zeilenumbrüche)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Habe die Datei im Basisverzeichnis meiner subdomain


    /piwik.meindedomain.de


    abgelegt. Also da wo auch die piwik.php und index.php liegt und die müssen ja richtig liegen, sonst könnte ich das piwik setup im Browser ja gar nicht aufrufen.
    Die Datei hat nur eine Zeile:


    php_value always_populate_raw_post_data -1


    Erstellt habe ich sie mit gedit (unter Linux) und dann mit Filezilla hochgeladen.
    Hat es vielleicht was mit den Dateirechten zu tun? Die sind: 0644

  • Verwendest Du PHP 7? Da wurde diese Konfigurationsoption nämlich entfernt: PHP: Beschreibung der php.ini-Direktiven des Sprachkerns - Manual


    Dort sollte es aber direkt funktionieren, wenn Deine Piwik Version nicht zu alt ist: Piwik can’t be installed on PHP7 due to the removal of $HTTP_RAW_POST_DATA · Issue #8812 · piwik/piwik · GitHub



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Wenn die Datei wirklich .htaccess (mit einem Punkt am Anfang) heißt, weiß ich leider auch nicht, warum das nicht klappt. Du könntest einmal eine neue PHP-Datei mit beliebigem Namen im gleichen Ordner abspeichern und dort folgendes reinschreiben:


    PHP
    <?php phpinfo(); ?>


    Vielleicht fällt Dir beim Aufruf derselben im Browser etwas auf. Interessant wäre, welchen Wert always_populate_raw_post_data dort hat.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Ja, die datei ist da wirklich mit einem Punkt am Anfang.

    Du könntest einmal eine neue PHP-Datei mit beliebigem Namen im gleichen Ordner abspeichern und dort folgendes reinschreiben:


    PHP
    <?php phpinfo(); ?>


    Vielleicht fällt Dir beim Aufruf derselben im Browser etwas auf. Interessant wäre, welchen Wert always_populate_raw_post_data dort hat.

    Genau das habe ich getan um herauszufinden, welche php Version ich habe.
    Was soll mir dabei auffallen?
    Der Wert von always_populate_raw_post_data ist 0

  • Übernimmt er eigentlich andere PHP-Variablen in der .htaccess?


    z.B. php_value date.timezone Europe/Vienna



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Also wenn ich die Zeile:
    php_value date.timezone Europe/Vienna
    zusätzlich in die .htaccess eintrage und dann nochmal die php.info aufrufe steht unter
    date.timezone
    nach wie vor
    Europe/Berlin


    Also ändert sich auch daran nichts.

  • PHP läuft beim neuen Webhosting ja über FastCGI, das hatte ich ganz vergessen. Da kann man PHP-Einstellungen nicht mehr in der .htaccess ändern. Stattdessen kannst Du eine .user.ini Datei anlegen. Dort trägst Du Deine gewünschten Änderungen ein, das Format ist aber minimal anders:


    Code
    always_populate_raw_post_data = -1


    Danach, ganz wichtig: 5 Minuten abwarten, bis der Cache vom FastCGI-Prozess abläuft! Erst nach dieser Zeitspanne werden Deine Änderungen eingelesen. Ich habe das soeben einmal unter dem Expert Light Tarif mit date.timezone ausprobiert, klappt einwandfrei. Das ist PHP 7, sollte unter PHP 5.x aber auch funktionieren.


    Die Datei .user.ini kann übrigens standardmäßig von jedem User gesehen werden. Dort sollte nichts drinnen stehen, was nicht die ganze Welt sehen darf. Falls dieses Verhalten unerwünscht ist, kann man den HTTP-Zugriff auf die Datei über einen Eintrag in der .htaccess sperren. Oder man legt sie in eine höhere Ebene, auf die der Webserver keinen Zugriff hat. (statt /httpdocs z.B. nach / – je nach eigener Ordnerstruktur am Webspace)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Da kann man PHP-Einstellungen nicht mehr in der .htaccess ändern. Stattdessen kannst Du eine .user.ini Datei anlegen.


    .htaccess selbst funktioniert aber grundsätzlich schon noch unter FastCGI. Um also die .user.ini zu schützen sollte eine .htaccess entsprechend angelegt werden

    Code
    <FilesMatch "(?i)\.user\.ini$">
    Order Deny,Allow
    	Deny from All
    	Require all denied
    </FilesMatch>


    Edit: Ups, hat killerbees19 ja schon angedeutet..sorry :)

    Falls dieses Verhalten unerwünscht ist, kann man den HTTP-Zugriff auf die Datei über einen Eintrag in der .htaccess sperren.

  • Ihr seid Spitze! Jetzt hat es endlich geklappt, war schon am verzweifeln.
    Wenn ich die .user.ini unter / ablege funktioniert es nicht. Habe sie dann unter /piwik.meinedomain.de abgespeichert und es funktioniert :)
    In meiner .user.ini steht nichts drin außer:

    Code
    always_populate_raw_post_data = -1


    Es stört mich auch nicht, wenn alle Welt das lesen kann, oder ist das ein Sicherheitsproblem?


    Wenn ich eine .htaccess mit dem von lubber vorgeschlagenen code anlegen will, wo muss die dann hin? In das gleiche Verzeichnis wie die .user.ini?

  • Bei dem simplen Inhalt wäre es natürlich egal, wenn es jeder lesen kann. Aber wer weiß, was Du in Zukunft noch dazuschreibst. Den Zugriff blockieren schadet also nicht, später denkt man nicht mehr daran.


    Wenn ich die .user.ini unter / ablege funktioniert es nicht.


    Hast Du auch ganz sicher 5 Minuten gewartet? Ich habe diesen Sonderfall extra getestet, bevor ich es als mögliche Lösung erwähnt habe. Bei mir hat es geklappt.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)


  • Hast Du auch ganz sicher 5 Minuten gewartet? Ich habe diesen Sonderfall extra getestet, bevor ich es als mögliche Lösung erwähnt habe. Bei mir hat es geklappt.

    Ich habe sogar einen halben Tag gewartet. Habe es gestern Abend noch gemacht, heute morgen gings immer noch nicht.


    Ich werde die Datei noch sichern, dann funktioniert soweit alles. Vielen dank für die kompetente und schnelle Hilfe! :thumbup: