[gelöst] PHP Problem mit Owncloud/Nextcloud

  • Lösung: Debian Wheezy PHP

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Hallo, ich habe hier ein Problem was ich nicht lösen kann. Ich benutzte ein RPi2 und Debian Wheezel Image sowie Owncloud bzw. jetzt umgestiegen auf Nextcloud. Bei beiden ist das Problem vorhanden.

    Ich möchte die News App sehr gerne nutzen. Dieser braucht die PHP Version 5.6. Okay, dass habe ich Installiert und wenn ich prüfe welche PHP Version ich habe (php -v) bekomme ich folgende Antwort:

    PHP 5.6.28 (cli) (built: Nov 11 2016 09:03:17)

    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

    Nur sagt mir Owncloud/Nextcloud, dass ich die Version 5.4 nutze:

    Du verwendest derzeit PHP 5.4.45-0+deb7u5.

    Apache2 bzw. RPi Neustart hhat nichts gebracht.

    Nun bin ich verzweifelt und weiß nicht mehr weiter. Ein Wechsel auf Jessie kann ich aus anderen gründen gerade nicht machen. Daher hoffe ich, dass jemand ein Lösung unter Wheezel kennt.

    Einmal editiert, zuletzt von cvp (13. November 2016 um 11:49)

  • hallo und danke für die Antwort.

    mit der phpinfo.php bekomme ich auch die info das es die Version 5.4.45 sei... echt seltsam. Habe php 5.6 von der offiziellen seite geladen und mit ./configure + make+ install installiert. hat mir auch keine fehler meldung ausgegeben.
    oder gibt es einen anderen weg den ich gehen muss?


  • Habe php 5.6 von der offiziellen seite geladen und mit ./configure + make+ install installiert. hat mir auch keine fehler meldung ausgegeben.
    oder gibt es einen anderen weg den ich gehen muss?


    Von hier ?
    http://php.net/get/php-5.6.28.tar.bz2/from/a/mirror


    So installiert ?

    Code
    tar -xvjf php-5.6.28.tar.bz2
    cd php-5.6.10
    ./configure
    make -j4
    sudo make install


    Dann nochmal mit php -v checken.

  • Vermutlich ist das alte PHP auch noch installiert :huh:

    Apache PHP module und PHP command line binary sind 2 verschiedene Dinge!

    Apache läd ein Module libphp5.so ... oder libphp7.so etc. was wiederum in folgender Datei eingestellt wird: /etc/apache2/mods-available/php5.load
    Wenn du das also ändern willst brauchst du das neue Module und änderst die Datei wie zum Beispiel:

    Code
    #LoadModule php5_module        /usr/lib/apache2/modules/libphp5.so
    LoadModule php5_module        /usr/lib/apache2/modules/libphp516-gd.so

    Anschließend apache2 neu starten:

    Code
    sudo service apache2 restart

    Wenn du nicht weißt ob oder wo das Module liegt dann such danach:

    Code
    find / -name libphp*.so

    Wichtig wäre auch dass du das neue PHP richtig kompiliert hast - es müssten nämlich einige Unterstützungen aktiviert werden sonst wirst du damit nicht allzu viel Spass haben. Siehe dazu auch meiner Beschreibung bzgl. php7


    PS: Es ist völlig unnötig den kompletten Rechner neu zu starten.

  • hallo, genau von dieser Seite habe ich es geladen, auch mit make -j4 erstellt. und bei php -v kommt halt die Meldung wie im Post 1
    Automatisch zusammengefügt:

    LoadModule php5_module /usr/lib/apache2/modules/libphp516-gd.so


    Wichtig wäre auch dass du das neue PHP richtig kompiliert hast - es müssten nämlich einige Unterstützungen aktiviert werden sonst wirst du damit nicht allzu viel Spass haben. Siehe dazu auch meiner Beschreibung bzgl. php7

    Und woher bekommt man dieses Modul? Bei mir existiert dieser nicht. Hab noch mal php5.6 heruntergeladen, darin findet man das Modul auch nicht.

    Wäre es den vielleicht ratsam gleich auf php 7 zu gehen und kann ich wie in der Anleitung es auf dem RPi2 übernehmen oder sind dort wieder andere Einstellungen Not wenig?

    Einmal editiert, zuletzt von cvp (12. November 2016 um 17:11)

  • Bitte ließ meinen Beitrag noch mal, diesmal aufmerksamer den vorletzten Satz.
    Tipp: --enable-module=so


    PS: Bitte nicht Beiträge vollständig quoten/zitieren, vor allem wenn diese genau da drüber stehen.

  • libphp516-gd.so war nur ein Beispiel! ..steht in meinem Beitrag aber auch..

    Bitte noch mal meinen obigen Beitrag aufmerksam lesen - diesmal den letzten CODE Block beachten bzw den Text der genau da drüber steht

  • Also zu deinem Post OBEN in DIESEN Thread steht, das der Apache die Datei libphp5.so lädt, das ist vielleicht der Grund wieso owncloud sagt, dass ich eine alte Version Installiert habe. Man kann den Apache vorgeben, welche *so-Datei geladen werden soll. Die Datei kann libphp7.so aber auch libphp516-gd.so oder "wie_auch_immer.so" heißen. Die Dateien sollte hier liegen: /usr/lib/apache2/modules/ - Was sie nicht tut
    Die Info welche Datei geladen werden soll trage ich hier ein: /etc/apache2/mods-available/php5.load ein
    * Verstanden soweit

    mittels find / -name libphp*.so suchte ich vorsichtshalber die Datei, falls sie eventuell woanders liegen könnte... fand aber nur die eine libphp5.so Datei. Nun befolge ich die Anleitung in deinem Link:

    * die ganzen Tools samt libpspell-dev habe ich Installiert, damit ich kompilieren kann
    * befolge nun die Installation Anleitung:
    sudo -i
    cd /usr/src
    wget php5.6.tar.gz
    tar xfz php5.6.tar.gz
    cd php5.6
    ./configure --prefix=/var/www --enable-module=so && make -j4 && make test

    und zum Schluss noch mal

    make install

    und

    service apache2 restart

    die anderen Konfigurationen die du als Beispiel angegeben hast habe ich erst mal ausgelassen, weil ich aus deinem Text nur die von mir dick markierte Info als wichtig empfunden habe um die passende *.so Dateien zu erhalten. Korrigiere mich bitte hier, wenn ich Falsch liege mit Angaben was genau fehlt ohne mich noch mal darauf hinzuweisen, dass ich noch mal alles lese soll, denn anscheinend überlese ich etwas.

    nach dem alles suche ich wieder nach den Dateien und finde weiterhin nur die eine libphp5.so Datei. Keine andere.

    Einmal editiert, zuletzt von cvp (12. November 2016 um 21:41)

  • Hm ..ich glaub das ist schwieriger vom Source aus apache2 kompatible zu kompilieren als sich ein fertiges Package zu installieren


    Probiers mal damit: https://erdfisch.de/en/multiple-ve…che-under-linux


    Aber hast du schon mal versucht die aktuell installierten Pakete zu upgraden? Ich hab bei mir nämlich php 5.6.27 installiert, über apt-get ohne selber kompilieren

    Code
    sudo apt-get update
    sudo apt-get upgrade
  • Bei mir wird php5 nicht mitaktualisiert bei apt-get update / upgrade.
    Mittels apt-cache search apache sehe ich bei mir folgende Auswahl zu php:

    Code
    libapache2-mod-php5
    libapache2-mod-php5filter
    php5-cgi
    php5-fpm


    Bei apt-cache search php5 habe ich zu Apache:

    Code
    libapache2-mod-php5
    libapache2-mod-php5filter
    php5-cgi


    Also würde ich versuchen das ganze so zu installieren:

    Code
    sudo apt-get install libapache2-mod-php5 php5-cgi
  • @meigraf
    update+upgrade half leider nicht.

    fred
    da bekomme ich ein error bei manchen Pakete

  • Ah, man kann nur libapache2-mod-php5 oder libapache2-mod-php5filter installieren.
    Ich habe gerade einen Thread von Meigrafd vom 01.03.2015 gefunden, wie es gehen soll:
    Debian Wheezy PHP
    Ob das für das Apache2-PHP zutrifft kann ich dir aber nicht sagen, bzw. ich glaube nicht, dass es für den Apache ist, sonst hätte meigrafd das bestimmt schon erwähnt. :fies:
    Sonst gibts hier das Debian-Paket von libapache2-mod-php5 für ARM:
    https://packages.debian.org/sid/armhf/liba…d-php5/download
    Darin ist die libphp5.so für /usr/lib/apache2/modules
    EDIT: Habs gerade mal probiert, dann lässt sich der Apache2 nicht mehr starten, weil er andere Dinge nicht findet, wie
    libcrypto.so.1.0.2 an.
    libssl1.0.2_1.0.2

    libdb-5.3
    libxml2 (hier wirds problematisch für Wheezy)
    und so weiter.
    Also wird es wohl nicht funktionieren.

  • Hab mal die deb datei heruntergeladen und die Datei entnommen. die vorhandene in libphp5.so.org umbenannt. die neue dann eingesetzt, Berechtigung geprüft und den Besitzer von pi.pi auf root.root geändert. Brachte aber dennoch nichts. Owncloud sagt immer noch 5.4 ist installiert. Hab mal das ganze wieder rückgängig gemacht.

    ich lese mal den ersten Link mal durch.

  • So, ich bin nun nach der Anleitung gefolgt die du zuvor gepostet hast von. Also quasi die Paketliste von Jessie hinzugefügt, php installiert und darauf hin die Liste wieder entfernt. Siehe da, owncloud meckert nicht mehr! Das war wohl die Lösung die ich seit Tagen und 15 Stunden suche :)

    Danke das du noch die mühe machst mit libxml2-2.9.0 und allgemein euch beiden für die Hilfestellung :)

    Jetzt habe ich noch zwei andere Fehler die vorhanden sind, aber das ist dann ein anderes Thema.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!