Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16
  1. #1
    Kunde
    Registriert seit
    10.02.2014
    Beiträge
    34

    Memcache oder memcached für PHP7 ?

    Hallo zusammen,

    ich bin mit meinem Server von PHP 5.56 auf PHP7 umgestiegen und freue ich sehr über den Geschwindigkeitsgewinn.

    Unter PHP5.56 hatte ich über die PHP.ini memcache aktiviert, womit z.B. MySQL-Abfragen im RAM gehalten wurden. Das würde ich auch gerne wieder mit PHP7 so machen. Aktuell scheint es aber kein funktionierendes memcache-Module für PHP7 zu geben.

    Eine Alternative scheint memcached zu sein. Ich habe mal nach dem Unterschied zwischen beiden Modulen gegoogelt. Der Namensunterschied scheint daher zu kommen, dass zwei unterschiedliche Entwickler sich mit dem Thema befasst haben, ansonsten scheinen die Module so ziemlich dasselbe zu machen. Ich hoffe das war jetzt nicht völlig verkehrt.

    Hat jemand von df irgendeine Info darüber, wann eines der beiden Module für PHP7 verfügbar sein wird?

    Danke & Grüße, rhodes

  2. #2
    Communityservice Avatar von Nils Dornblut
    Registriert seit
    15.10.2000
    Beiträge
    43.128

    AW: Memcache oder memcached für PHP7 ?

    Hallo rhodes,

    ich hatte das hier schon einmal beantwortet:

    https://www.df.eu/forum/threads/7962...l=1#post507992

    Andere Informationen dazu gibt es nicht.

    Mit freundlichen Grüßen

    Nils Dornblut
    Communityservice
    __________________
    Blog - Facebook - Twitter
    Communitybetreiber: domainfactory GmbH
    Impressum / Pflichtangaben

  3. #3
    Kunde
    Registriert seit
    02.08.2017
    Beiträge
    3

    AW: Memcache oder memcached für PHP7 ?

    Hi rhodes,

    dein Beitrag ist zwar schon ein paar Tage alt, aber wir sind heute selbst von PHP5.6 auf PHP7 für ein Drupal 8 Projekt umgestiegen und wollten für dieses das Modul Memcache API and Integration weiterhin verwenden. Hierfür war es notwendig, dass wir unser eigenes memcached-Modul für PHP7 kompilieren, da aktuell dieses unter /usr/local/lib/php_modules/7-70STABLE/ noch nicht angeboten wird.

    Den Weg dahin möchten wir mit der Community teilen:

    Vorweg, unsere PHP-Erweiterungen liegen unter /kunden/xxxxx_xxxx/phplibs/ und wir haben uns dort ein neues Directory für die php7 Versionen der Module angelegt

    cd ~/phplibs/php7

    wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
    tar -xzf libmemcached-1.0.18.tar.gz
    rm -f libmemcached-1.0.18.tar.gz
    cd libmemcached-1.0.18
    ./configure --prefix=/kunden/xxxxx_xxxx/phplibs/php7/libmemcached-1.0.18
    make
    make install

    cd ..

    wget https://pecl.php.net/get/memcached-3.0.3.tgz
    tar -xzf memcached-3.0.3.tgz
    rm -f memcached-3.0.3.tgz
    cd memcached-3.0.3
    phpize7
    ./configure --with-libmemcached-dir=/kunden/xxxxx_xxxx/phplibs/php7/libmemcached-1.0.18 --with-php-config=php7-config --disable-memcached-sasl
    make
    make install
    cp modules/memcached.so ../.


    Zum Schluss dann noch in der php.ini folgende Werte setzen:

    extension_dir = "/kunden/xxxxx_xxxx/phplibs/php7/"
    extension = "memcached.so"

  4. #4
    Communityservice Avatar von Nils Dornblut
    Registriert seit
    15.10.2000
    Beiträge
    43.128

    AW: Memcache oder memcached für PHP7 ?

    Hallo Börni86,

    vielen Dank für die Anleitung im Namen nachfolgender Nutznießer.

    Mit freundlichen Grüßen

    Nils Dornblut
    Communityservice
    __________________
    Blog - Facebook - Twitter
    Communitybetreiber: domainfactory GmbH
    Impressum / Pflichtangaben

  5. #5
    Kunde
    Registriert seit
    21.11.2005
    Beiträge
    82

    AW: Memcache oder memcached für PHP7 ?

    Hallo zusammen,

    ich hatte im September gemäß obenstehender Anleitung erfolgreich ein Modul für PHP 7.1 erstellen können.
    Ich wollte nun auch ein Modul für PHP 7.0 erstellen und habe die gleichen Schritte ausgeführt.
    Allerdings erhalte ich nun bei "make install" folgende Fehlermeldung (hier für PHP 7.1; bei PHP 7.0 aber gleich bis auf ...non-zts-20151012):
    mkdir: cannot create directory '/usr/local/lib/php/extensions/no-debug-non-zts-20160303': Permission denied
    make: *** [Makefile:88: install-modules] Error 1

    Also das Problem taucht nun sowohl bei der Kompilierung für PHP 7.0 als auch PHP 7.1 auf.
    Nach "make" existiert aber ein entsprechendes Modul im /modules Verzeichnis. Dieses scheint auch zu funktionieren, wenngleich es nicht mehr die gleiche Dateigröße hat, als das im September erstellte memcached.so.

    Herr Dornblut können Sie klären wieso es zu der Fehlermeldung kommt? Ich habe die Schritte für PHP 7.0 und PHP 7.1 mehrfach ausgeführt und es kam immer die gleiche Meldung. Ich denke ich habe alles richtig gemacht, aber kann einen Fehler meinerseits natürlich nicht 100% ausschließen.

    Grüße

  6. #6
    Communityservice Avatar von Nils Dornblut
    Registriert seit
    15.10.2000
    Beiträge
    43.128

    AW: Memcache oder memcached für PHP7 ?

    Hallo BenSchwarz,

    soweit ich mir Ihre Meldung ansehe, wird dort versucht in einem allgemeinen Bereich des Webservers ein Verzeichnis anzulegen. Das ist jedoch nicht erlaubt und sollte durch Angaben wie " --prefix" vermieden werden. Die Anleitung habe ich jetzt nicht im Detail testen können. Haben Sie das genau wie dort beschrieben gemacht? Hat ein anderer Kunde das so machen können?

    Wenn Die Funktion gegeben ist, wo ist das genaue Problem was zu lösen ist? Unterschiedliche Dateigrößen können durch unterschiedliche Versionen entstehen. Z. B. wurde make aktualisiert bei der Aktualisierung der Komponenten.

    Mit freundlichen Grüßen

    Nils Dornblut
    Communityservice
    __________________
    Blog - Facebook - Twitter
    Communitybetreiber: domainfactory GmbH
    Impressum / Pflichtangaben

  7. #7
    Kunde
    Registriert seit
    21.11.2005
    Beiträge
    82

    AW: Memcache oder memcached für PHP7 ?

    Hallo Herr Dornblut,

    eine Antwort und das am Feiertag - sehr fleißig, danke.

    Der Dateigrößenunterschied ergibt sich wohl tatsächlich durch das aktualisierte "make" und erklärt dies.

    Ich habe mich ein bisschen mit dem Thema auseinander gesetzt.
    Leider bringt ein ./configure --prefix=/[Benutzerverzeichnis] nichts, im Makefile steht dann nach wie vor:
    prefix = /usr/local/
    EXTENSION_DIR = /usr/local/lib/php/extensions/no-debug-non-zts-20160303

    Wenn ich den Pfad von EXTENSION_DIR im Makefile manuell auf ein Benutzerverzeichnis abändere, legt "make install" das Modul in dieses Verzeichnis ab.

    Letztlich macht "make install" wohl nicht mehr als das Modul ins EXTENSION_DIR zu kopieren, also kann man auf diesen Schritt wohl verzichten. Aber mich wundert es schon, dass ich im September hier kein Problem hatte, Börni86 wohl auch nicht. Auch habe ich das früher bereits schon öfter gemacht (in einem anderen Thread gibt es quasi von mir die gleiche Anleitung für PHP 5) und auch da gab es meiner Erinnerung nach keine derartigen Probleme. Vielleicht hat das ja auch mit den Updates der Komponenten Anfang Oktober zu tun.

    Mir ist im Makefile noch folgendes aufgefallen:
    PHP_EXECUTABLE = /usr/local/bin/php5-7STABLE-STANDARD
    Dieses executable gibt es gar nicht, schließlich gibt es auch keine PHP 5.7 Version.

    Vielleicht wollen Sie sich das bei Gelegenheit ja doch nochmal anschaun, auch im Sinne anderer Nutzer.

    Übrigens in diesem Zuge auch noch der Vorschlag. Kompilieren Sie doch entsprechende Module für PHP 5.6 bis PHP 7.1 vor und legen es im Standard-Module Verzeichnis ab (wie inzwischen ja mit imagick.so geschehen).
    Dann sparen sich künftig Nutzer das eigene Erstellen. Wäre konsequent, da Sie da - dankenswerter Weise - inzwischen den Memcached-Server zur automatischen Installation anbieten.

    Grüße

  8. #8
    Communityservice Avatar von Nils Dornblut
    Registriert seit
    15.10.2000
    Beiträge
    43.128

    AW: Memcache oder memcached für PHP7 ?

    Hallo BenSchwarz,

    bezüglich der Bereitstellung durch uns gilt das hier:

    https://www.df.eu/forum/threads/7962...l=1#post507992

    Da es weiterhin nichts Offizielles gibt, können wir das auch nicht bereitstellen leider.

    Die Anleitung habe ich erfolgreich getestet. Ja, die Meldung kommt, hat aber so keine Auswirkung, soweit ich sehen kann.

    Mit freundlichen Grüßen

    Nils Dornblut
    Communityservice
    __________________
    Blog - Facebook - Twitter
    Communitybetreiber: domainfactory GmbH
    Impressum / Pflichtangaben

  9. #9
    Kunde
    Registriert seit
    21.11.2005
    Beiträge
    82

    AW: Memcache oder memcached für PHP7 ?

    Hallo Herr Dornblut,

    ähm, vielleicht missverstehen wir uns. Aber Memcached != Memcache.
    Die Bezeichnung der beiden Module ist verwirrend, zumal der Name Memcached ja eigentlich auf einen Server abschielt, es handelt sich hier aber um einen PHP-Clientt.

    PHP Pecl Memcache ist in der tat tot, daher mussten wir bereits vor geraumer Zeit zum PHP Pecl Modul Memcached wechseln. Hier kam leider auch erst im Februar 2017 die PHP-7 fähige Version 3.x raus, aber wenn Pecl nicht offiziell genug ist, was dann?
    https://pecl.php.net/package/memcached

    Memcache wird leider zur Zeit ziemlich von Redis verdrängt, aber es gibt sicher eine breite Nutzerbasis, ansonsten würde df es ja auch nicht als Installationsmodul anbieten.
    Und wenn ich mir das github-dev Verzeichnis ansehe ,wird auch gerade an der Kompatibilität zu PHP 7.2 gearbeitet, es scheint also weiter zu gehen.

    Mir persönlich ist es egal, ich weiß ja inzwischen wie das Modul eingebunden wird (jetzt eben ohne den letzten "make install" Schritt, warum auch immer), aber für andere Kunden würde die Schwelle evtl. etwas herabgesetzt werden diesen tollen Memory-Cache zu verwenden.

    Grüße

  10. #10
    Communityservice Avatar von Nils Dornblut
    Registriert seit
    15.10.2000
    Beiträge
    43.128

    AW: Memcache oder memcached für PHP7 ?

    Hallo BenSchwarz,

    wir missverstehen uns keineswegs, allerdings war mir diese neue Version von memcached nicht bekannt. Ich frage mal intern nach, ob etwas dagegen spricht dass allgemein bereitzustellen. Danke für den wichtigen Hinweis.

    Mit freundlichen Grüßen

    Nils Dornblut
    Communityservice
    __________________
    Blog - Facebook - Twitter
    Communitybetreiber: domainfactory GmbH
    Impressum / Pflichtangaben

  11. #11
    Communityservice Avatar von Nils Dornblut
    Registriert seit
    15.10.2000
    Beiträge
    43.128

    AW: Memcache oder memcached für PHP7 ?

    Hallo BenSchwarz,

    wir haben das als Aufgabe intern aufgenommen und es sieht gut aus für eine Realisierung. Allerdings können wir es noch nicht definitiv und vom Termin her zusagen.

    Mit freundlichen Grüßen

    Nils Dornblut
    Communityservice
    __________________
    Blog - Facebook - Twitter
    Communitybetreiber: domainfactory GmbH
    Impressum / Pflichtangaben

  12. #12
    Kunde
    Registriert seit
    21.11.2005
    Beiträge
    82

    AW: Memcache oder memcached für PHP7 ?

    Hört sich gut an - viel Erfolg bei der Umsetzung!

  13. #13
    Kunde
    Registriert seit
    17.11.2017
    Beiträge
    2

    AW: Memcache oder memcached für PHP7 ?

    Hallo,

    vielen Dank für die Anleitung. Unter php7.0.x funktioniert das module.
    Leider funktioniert es unter PHP 7.1.x nicht.
    Ich habe in der Anleitung phpize7 durch phpize71 ausgetauscht, aber das reicht wohl anscheinend nicht.
    Muss ich noch etwas anpassen?

  14. #14
    Kunde
    Registriert seit
    21.11.2005
    Beiträge
    82

    AW: Memcache oder memcached für PHP7 ?

    Hallo mukki182,

    ja, meines Wissens auch in folgender Zeile php71-config, also die 1 eingefügt werden:
    ./configure --with-libmemcached-dir=/kunden/xxxxx_xxxx/phplibs/php7/libmemcached-1.0.18 --with-php-config=php71-config --disable-memcached-sasl

    Und wie von mir oben beschrieben. Bei mir funktionierte der letzte Schritt "make install" nicht.
    Aber der kopiert wohl nur Dateien. Nach make solltest Du das fertige Modul in /modules finden und kannst ihn dann in Dein in der PHP-Config angegebenes extension_dir kopieren oder verlinken (ln -s).

    Eine kleine Warnung meinerseits.
    Wir hatten extreme Probleme mit der php-fpm Version von PHP 7.1, was aber nach meinen Tests nichts mit Memcached zu tun hatte.
    In unserem Setup scheint irgendwas mit der garbage collection (Vermutung) nicht zu funktionieren. Die Prozesse wachsen nach einer gewissen Zeit auf das Mehrfache ihrer Speichergröße an.
    Das führte zum einen zu einer schwindenen Performance (nach einigen Prozessorstunden wieder PHP 5.6 Niveau). Schlimmer war aber, dass irgendwann der RAM voll war und die Datenbank abschmierte.
    Also nach Umstellung auf PHP 7.1 auf jeden Fall mal die Prozesse überprüfen. (in "top" die Spalte "RES"), ob diese nicht nach einigen Stunden anwachsen.

    Scheint wohl nicht in allen Setups der Fall zu sein. Hat hier vielleicht noch jemand dieses Verhalten feststellen können.
    domainfactory ist bei der Prüfung des Sachverhalts leider nicht weiter gekommen, weshalb wir erst mal notgedrungen auf PHP 7.0 zurück gegangen sind.

    Grüße

  15. #15
    Kunde
    Registriert seit
    17.11.2017
    Beiträge
    2

    AW: Memcache oder memcached für PHP7 ?

    Danke, hatte auf der Console irgendwie übersehen, dass es auch eine php71-config gibt.
    Läuft jetzt.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. PHP7
    Von maegnes im Forum ManagedHosting
    Antworten: 299
    Letzter Beitrag: 30.06.2017, 23:28
  2. [PHP7] APCu
    Von c0d3b34n im Forum ManagedHosting
    Antworten: 1
    Letzter Beitrag: 28.07.2016, 12:27
  3. Antworten: 11
    Letzter Beitrag: 23.06.2016, 22:40
  4. Typo3 V7.6 | PHP7
    Von wecotec im Forum Scriptsprachen / SQL / Anwendungen
    Antworten: 0
    Letzter Beitrag: 24.03.2016, 09:55
  5. FastCGI & PHP Cacher oder memcached
    Von @LpH@ im Forum Tarifberatung und Allgemeines
    Antworten: 1
    Letzter Beitrag: 16.04.2013, 23:05

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •