Page 1 of 2

PHP8 - Nutztung von PEAR Paket möglich?

Posted: Sun 3. Jul 2022, 19:10
by Blackmoon
Guten Abend zusammen,
ich habe KeyHelp auf einem Ubuntu 20.04 LTS laufen. Damit verbunden wird PHP 7.4.3 von der Distribution automatisch mit installiert.

Ich habe eine Application installiert welche bis dato PHP 7.4.3 nutzt und das PEAR Paket Mail benötigt. Nun steht mit dem nächsten Release der Application der Wechsel auf 8.0.20 an.

Daher habe ich auf dem Server selbige Version über die Einstellungen -> PHP Interpreter nachinstalliert. Danach habe ich für die Domain den PHP Interpreter von PHP 7.4.3 auf 8.0.20 umgestellt. Anschließend zeigt mir die Applikation an, dass das PEAR Paket Mail nicht vorhanden sei. Mache ich die Änderung des Interpreters wieder rückgängig ist alles wieder in Ordnung und Pear Mail wird gefunden.

Kann es sein, dass es an der von KeyHelp kompilierten Version von PHP 8.0.20 liegt? Weil die PEAR Pakete liegen meines Wissens nach unter /usr/share/php. Auf das Verzeichnis hat doch jede PHP Version standardmäßig Zugriff. Zudem gibt es hin gegen zu den PHP Extensions doch keine Differenzierung wie je PHP Version, oder?

Grüße

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Mon 4. Jul 2022, 09:45
by Florian
Hallo,

für PEAR Pakete muss der OpenBase_Dir angepasst werden.

Siehe Thread viewtopic.php?p=35901#p35901

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Tue 5. Jul 2022, 10:02
by Blackmoon
Guten Morgen,
die Variable open_basedir sieht aktuell wie folgt aus:

Code: Select all

##DOCROOT##/www:##DOCROOT##/files:##DOCROOT##/tmp:/opt/keyhelp/php/8.0/lib/php
Damit sollte für PHP 8.0.20 die PEAR Pakete zur Verfügung stehen, oder?

Ich habe gerade noch die Verzeichnisse von PHP 8.0.20 mit 7.2 verglichen:

Code: Select all

benutzer@server: ll /opt/keyhelp/php/7.2/lib/php
total 152
drwxr-xr-x 15 root root  4096 Jan 12 05:06 ./
drwxr-xr-x  3 root root  4096 Jan 12 05:06 ../
drwxr-xr-x  2 root root  4096 Jan 12 05:06 Archive/
drwxr-xr-x  2 root root  4096 Jan 12 05:06 build/
drwxr-xr-x  3 root root  4096 Jan 12 05:06 .channels/
drwxr-xr-x  2 root root  4096 Jan 12 05:06 Console/
drwxr-xr-x  3 root root  4096 Jan 12 05:06 data/
-rw-r--r--  1 root root  2080 Jan 12 05:06 .depdb
-rw-r--r--  1 root root     0 Jan 12 05:06 .depdblock
drwxr-xr-x  6 root root  4096 Jan 12 05:06 doc/
drwxr-xr-x  3 root root  4096 Jan 12 05:06 extensions/
-rw-r--r--  1 root root  6961 Jan 12 05:06 .filemap
-rw-r--r--  1 root root     0 Jan 12 05:06 .lock
drwxr-xr-x  2 root root  4096 Jan 12 05:06 OS/
drwxr-xr-x 11 root root  4096 Jan 12 05:06 PEAR/
-rw-r--r--  1 root root 15134 Jan 12 05:06 pearcmd.php
-rw-r--r--  1 root root 36171 Jan 12 05:06 PEAR.php
-rw-r--r--  1 root root  1121 Jan 12 05:06 peclcmd.php
drwxr-xr-x  5 root root  4096 Jan 12 05:06 .registry/
drwxr-xr-x  3 root root  4096 Jan 12 05:06 Structures/
-rw-r--r--  1 root root 20622 Jan 12 05:06 System.php
drwxr-xr-x  5 root root  4096 Jan 12 05:06 test/
drwxr-xr-x  2 root root  4096 Jan 12 05:06 XML/
und

Code: Select all

benutzer@server: ll /opt/keyhelp/php/8.0/lib/php
total 16
drwxr-xr-x 4 root root 4096 Jul  3 18:03 ./
drwxr-xr-x 3 root root 4096 Jul  3 18:03 ../
drwxr-xr-x 2 root root 4096 Jul  3 18:03 build/
drwxr-xr-x 3 root root 4096 Jul  3 18:03 extensions/
Woher bekomme ich die PEAR Dateien für PHP 8.0.20?

Re: PHP8 - Nutztung von PEAR Paket möglich?  [GELÖST]

Posted: Tue 5. Jul 2022, 10:48
by Florian
Hallo,

ja PEAR ist bei 8.0 standardmäßig nicht mehr aktiv.

Du kannst es testen mit dieser Install:

Code: Select all

wget https://pear.php.net/go-pear.phar
/opt/keyhelp/php/8.0/bin/php go-pear.phar
Die Pfade werden soweit erkannt. Die Pear Dateien liegen ohne Anpassung der Pfade dann unter /opt/keyhelp/php/8.0/share/pear

Bitte beachten, dass das ganze bei PHP Updates überschrieben wird, sofern das Auto Update nicht deaktiviert ist.

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Tue 5. Jul 2022, 12:39
by Blackmoon
Hallo,
vielen Dank für die Anleitung.

Wenn ich das Skript aufrufe, erhalte ich folgenden Dialog:

Code: Select all

HP Warning:  Private methods cannot be final as they are never overridden by other classes in /opt/keyhelp/php/8.0/go-pear.phar on line 339

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)                   : /opt/keyhelp/php/8.0
 2. Temporary directory for processing            : /tmp/pear/install
 3. Temporary directory for downloads             : /tmp/pear/install
 4. Binaries directory                            : /opt/keyhelp/php/8.0/bin
 5. PHP code directory ($php_dir)                 : /opt/keyhelp/php/8.0/share/pear
 6. Documentation directory                       : /opt/keyhelp/php/8.0/docs
 7. Data directory                                : /opt/keyhelp/php/8.0/data
 8. User-modifiable configuration files directory : /opt/keyhelp/php/8.0/cfg
 9. Public Web Files directory                    : /opt/keyhelp/php/8.0/www
10. System manual pages directory                 : /opt/keyhelp/php/8.0/man
11. Tests directory                               : /opt/keyhelp/php/8.0/tests
12. Name of configuration file                    : /opt/keyhelp/php/8.0/etc/pear.conf
Welche Option ist für PEAR Pakete notwendig? Ich hätte gesagt, dass die 5) ausreichend ist.

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Tue 5. Jul 2022, 12:43
by Florian
Hallo,

die sind alle notwendig, man kann hier nur den Pfad anpassen.

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Tue 5. Jul 2022, 14:21
by Blackmoon
Hallo,
danke dir. Ich habe die Installation vorgenommen. War in wenigen Minuten erledigt.

Der Verzeichnisinhalt sieht so weit gut aus:

Code: Select all

benutzer@server:/opt/keyhelp/php/8.0/share/pear# ll
total 132
drwxr-xr-x 10 root root  4096 Jul  5 12:56 ./
drwxr-xr-x  6 root root  4096 Jul  5 12:56 ../
drwxr-xr-x  2 root root  4096 Jul  5 12:56 Archive/
drwxr-xr-x  3 root root  4096 Jul  5 12:56 .channels/
drwxr-xr-x  2 root root  4096 Jul  5 12:56 Console/
-rw-r--r--  1 root root  2080 Jul  5 12:56 .depdb
-rw-r--r--  1 root root     0 Jul  5 12:56 .depdblock
-rw-r--r--  1 root root  6961 Jul  5 12:56 .filemap
-rw-r--r--  1 root root     0 Jul  5 12:56 .lock
drwxr-xr-x  2 root root  4096 Jul  5 12:56 OS/
drwxr-xr-x 11 root root  4096 Jul  5 12:56 PEAR/
-rw-r--r--  1 root root 14859 Jul  5 12:56 pearcmd.php
-rw-r--r--  1 root root 36171 Jul  5 12:56 PEAR.php
-rw-r--r--  1 root root  1127 Jul  5 12:56 peclcmd.php
drwxr-xr-x  5 root root  4096 Jul  5 12:56 .registry/
drwxr-xr-x  3 root root  4096 Jul  5 12:56 Structures/
-rw-r--r--  1 root root 20694 Jul  5 12:56 System.php
drwxr-xr-x  2 root root  4096 Jul  5 12:56 XML/
Die Variable openbase_dir habe ich wie folgt angepasst:

Code: Select all

##DOCROOT##/www:##DOCROOT##/files:##DOCROOT##/tmp:/opt/keyhelp/php/8.0
Unterordner sind laut Beschreibung ja inbegriffen.

Die Anwendung meldet leider nach wie vor, dass die PEAR Pakete nicht gefunden wurden.
Soll ich ein authentifizierte Anfrage über das Kundenportal von KeyWeb erstellen?

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Tue 5. Jul 2022, 14:22
by Florian
Hallo,

Openbase_ Dir angepasst?

Und Module wie Mail müssen natürlich noch mittels Pear installiert werden.

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Tue 5. Jul 2022, 15:30
by Blackmoon
Ja, siehe letzter Abschnitt in meinem vorherigen Kommentar. Das ist die aktuelle Konfiguration.

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Tue 5. Jul 2022, 15:37
by Florian
Ich würde den konkreten Pfad nehmen und auch den include_path entsprechend noch anpassen.

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Tue 5. Jul 2022, 18:16
by Blackmoon
Ich habe die Variable "open_basedir" wie folgt gesetzt:
##DOCROOT##/www:##DOCROOT##/files:##DOCROOT##/tmp:/opt/keyhelp/php/8.0/share/pear
Laut Installer wurde die Variable "include_path" in der Datei /opt/keyhelp/php/8.0/etc/php.ini gesetzt. Dem ist auch so:

Code: Select all

;***** Added by go-pear
include_path=".:/opt/keyhelp/php/8.0/share/pear"
;*****

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Wed 6. Jul 2022, 12:22
by Florian
Hallo,

und was sagt die Anwendung?

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Wed 6. Jul 2022, 16:32
by Blackmoon
Moin,
die Anwendung sagt nach wie vor dass beide PEAR Pakete nicht gefunden werden. :-(


Grüße

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Wed 6. Jul 2022, 16:57
by Florian
Hallo,

wenn Sie ein Kunde sind dann machen Sie bitte ein Ticket auf mit allen notwendigen Informationen, dass ich es mir wenn direkt anschauen kann.

Re: PHP8 - Nutztung von PEAR Paket möglich?

Posted: Wed 6. Jul 2022, 19:37
by 24unix
Florian wrote: Tue 5. Jul 2022, 10:48 Du kannst es testen mit dieser Install:
Florian wrote: Wed 6. Jul 2022, 16:57 wenn Sie ein Kunde sind dann machen Sie bitte ein Ticket auf mit allen notwendigen Informationen, dass ich es mir wenn direkt anschauen kann.
Autsch :-)

Nur weil man ein Kunde ist wird man nicht mehr gedutzt sondern mit dem distanzierendem Sie angeredet?

Ich denke, mit einem Pro-Abo bin ich Kunde, möchte aber gerne weiter geduzt werden :-)