redis Modul für php laden

  • Hallo,

    ich versuche jetzt seit einer gefühlten Ewigkeit vergeblich das redis Modul für eine nextcloud installation zu laden.

    Ich habe es in der php.ini über den php.ini-Editor auf der Weboberfläche den Eintrag "extension=redis.so" hinzugefügt und das Modul mittels "/usr/local/pd-admin2/php-8.3.17/bin/pecl install redis" installiert.

    Leider bekomme ich z.B. beim Ausführen des nextcloud Cronjobs den Fehler "Memcache OC\Memcache\Redis not available for local cache (Is the matching PHP module installed and enabled?)"

    Ich verstehe nicht warum - mache ich etwas falsch?


    Danke für eure Hilfe!

  • Ich bin mir da nicht sicher. Ich muss nach jedem Update in den Cronjobs die Pfade ändern, da nach einem php Update die verwendeten Pfade nicht mehr stimmen.

    z.B. vor Update /usr/local/pd-admin2/php-8.3.15/bin/php und nach dem Update /usr/local/pd-admin2/php-8.3.17/bin/php

    Deshalb bin ich mir auch nicht sicher, welche php.ini wann verwendet wird.

    Schade dass es zu diesem Thema keine Doku gibt.

  • Ich muss nach jedem Update in den Cronjobs die Pfade ändern, da nach einem php Update die verwendeten Pfade nicht mehr stimmen.

    Grundsätzlich gib es für jeden php Zweig immer einen Symlink unter /usr/local/pd-admin2/bin/ , den Du hier verwenden kannst. Zum Beispiel /usr/local/pd-admin2/bin/php-8.2-cli für die aktuelle 8.2 cli.


    Random Beispiel von meinem Testserver


    Code
    /usr/local/pd-admin2/bin/php-7.0-cli -> /usr/local/pd-admin2/php-7.0.33/bin/php-cli
    /usr/local/pd-admin2/bin/php-7.1-cli -> /usr/local/pd-admin2/php-7.1.33/bin/php-cli
    /usr/local/pd-admin2/bin/php-7.2-cli -> /usr/local/pd-admin2/php-7.2.34/bin/php-cli
    /usr/local/pd-admin2/bin/php-7.3-cli -> /usr/local/pd-admin2/php-7.3.33/bin/php-cli
    /usr/local/pd-admin2/bin/php-7.4-cli -> /usr/local/pd-admin2/php-7.4.33/bin/php-cli
    /usr/local/pd-admin2/bin/php-8.0-cli -> /usr/local/pd-admin2/php-8.0.30/bin/php-cli
    /usr/local/pd-admin2/bin/php-8.1-cli -> /usr/local/pd-admin2/php-8.1.31/bin/php-cli
    /usr/local/pd-admin2/bin/php-8.2-cli -> /usr/local/pd-admin2/php-8.2.27/bin/php-cli
    /usr/local/pd-admin2/bin/php-8.3-cli -> /usr/local/pd-admin2/php-8.3.15/bin/php-cli
    /usr/local/pd-admin2/bin/php-8.4-cli -> /usr/local/pd-admin2/php-8.4.2/bin/php-cli

    Damit ersparst Du Dir das Nachziehen nach jedem Update.

  • Interessant, weil die korrekte php.ini hätte aus meiner Sicht auch vorher mit den direkten Verweisen auf das cli binary gezogen werden sollen.

    Aber freut mich, wenn ich was beitragen konnte :)

  • Nein, anscheinend is dem nicht so.
    Im File /home/kunde/bin/php wird explizit mit -c das php.ini file /home/kunde/php.ini angegeben.

    Wenn ich z.B. die /usr/local/pd-admin2/php-8.3.17/bin/php-cli direkt mit --ini aufrufe, sehe ich dass die php.ini der jeweiligen Version im Insstallationsverzeichnis verwendet wird (/usr/local/pd-admin2/php-8.3/lib/php.ini)

  • Wenn ich z.B. die /usr/local/pd-admin2/php-8.3.17/bin/php-cli direkt mit --ini aufrufe, sehe ich dass die php.ini der jeweiligen Version im Insstallationsverzeichnis verwendet wird (/usr/local/pd-admin2/php-8.3/lib/php.ini)

    Das ist ja auch der Standardwert für die php.ini. Es muss natürlich immer die php.ini mit angegeben werden. Das sieht man auch wenn man

    Code
    cat /home/kunde/bin/php

    ausführt. Denn das ist keine Binary, sondern ein Wrapper Skript.