Ankündigung

Einklappen
Keine Ankündigung bisher.

Fragen und Probleme mit Edomi unter CentOS 7

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Kann mir jemand sagen, in welcher Reihenfolge ich was installieren muss, damit der Mailer Baustein LBS19000587 funktioniert? Hab' schon alles mögliche getestet... Mal wird das vendor-Verzeichnis angemeckert, mal die Klasse nicht gefunden oder PHPMailer nicht gefunden.
    Nur mit den Zeilen aus dem LBS klappt es nicht, ich denke da fehlt der komplette PHPMailer, oder? Kann mich auch einfach nur zu blöd stellen, hab' die letzten Nächte doch ziemlich mit CentOS 7 gekämpft.

    Gruß
    Winni

    Kommentar


      Der letzte Befehl "composer require ..." sollte die eigentliche Installation durchführen. Was passiert denn da?
      Am besten mal den Output der Installation posten und die Fehlermeldung (Edomi Logs)

      Kommentar


        Das passiert beim installieren:
        [root@edomi7 ~]# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
        [root@edomi7 ~]# php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93 e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
        Installer verified
        [root@edomi7 ~]# php composer-setup.php
        All settings correct for using Composer
        Downloading...

        Composer (version 1.9.1) successfully installed to: /root/composer.phar
        Use it: php composer.phar

        [root@edomi7 ~]# php -r "unlink('composer-setup.php');"
        [root@edomi7 ~]# mv composer.phar /usr/local/bin/composer
        [root@edomi7 ~]# cd /usr/local/edomi/main/include/php/
        [root@edomi7 php]# mkdir PHPMailer
        [root@edomi7 php]# cd PHPMailer
        [root@edomi7 PHPMailer]# composer require phpmailer/phpmailer
        No composer.json in current directory, do you want to use the one at /usr/local/edomi/main/include/php? [Y,n]? n
        Do not run Composer as root/super user! See https://getcomposer.org/root for details
        Using version ^6.1 for phpmailer/phpmailer
        ./composer.json has been created
        Loading composer repositories with package information
        Updating dependencies (including require-dev)
        Package operations: 1 install, 0 updates, 0 removals
        - Installing phpmailer/phpmailer (v6.1.3): Loading from cache
        phpmailer/phpmailer suggests installing psr/log (For optional PSR-3 debug logging)
        phpmailer/phpmailer suggests installing league/oauth2-google (Needed for Google XOAUTH2 authentication)
        phpmailer/phpmailer suggests installing hayageek/oauth2-yahoo (Needed for Yahoo XOAUTH2 authentication)
        phpmailer/phpmailer suggests installing stevenmaguire/oauth2-microsoft (Needed for Microsoft XOAUTH2 authentication)
        phpmailer/phpmailer suggests installing symfony/polyfill-mbstring (To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2))
        Writing lock file
        Generating autoload files
        Fehler im ERROR-Log
        Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000587.php | Fehlercode: 0 | Zeile: 60 | Class 'PHPMailer' not found

        Einträge im Custom-LOG
        2019-12-04 23:39:08 740288 6245 debug EXE19000587 [v0.3]: Mailer started (3294)

        Kommentar


          Versuch mal ein

          composer install

          im selben Verzeichnis.

          Kommentar


            [root@edomi7 PHPMailer]# composer install
            Do not run Composer as root/super user! See https://getcomposer.org/root for details
            Loading composer repositories with package information
            Installing dependencies (including require-dev) from lock file
            Nothing to install or update
            Generating autoload files

            Kommentar


              Was ich mir aufgrund der Meldung am Ende der Installation (dein vorletzter Post) noch vorstellen kann, ist,dass ein

              yum install php-mbstring

              fehlt. Und dann nochmal das composer require oder composer install starten.

              Kommentar


                Leider auch kein Effekt, war bereits installiert:
                Code:
                [root@edomi7 PHPMailer]# yum install php-mbstring
                Geladene Plugins: fastestmirror
                Loading mirror speeds from cached hostfile
                epel/x86_64/metalink                                     |  29 kB     00:00
                 * base: mirror.cuegee.com
                 * epel: mirror.nextlayer.at
                 * extras: mirror.cuegee.com
                 * remi-php72: remi.schlundtech.de
                 * remi-safe: remi.schlundtech.de
                 * updates: ftp.hosteurope.de
                base                                                     | 3.6 kB     00:00
                epel                                                     | 5.4 kB     00:00
                extras                                                   | 2.9 kB     00:00
                remi-php72                                               | 3.0 kB     00:00
                remi-safe                                                | 3.0 kB     00:00
                updates                                                  | 2.9 kB     00:00
                (1/4): remi-php72/primary_db                               | 229 kB   00:00
                (2/4): remi-safe/primary_db                                | 1.6 MB   00:01
                (3/4): epel/x86_64/updateinfo                              | 1.0 MB   00:01
                (4/4): epel/x86_64/primary_db                              | 6.9 MB   00:02
                Paket php-mbstring-7.2.25-1.el7.remi.x86_64 ist bereits in der neuesten Version installiert.
                Nichts zu tun
                [root@edomi7 PHPMailer]# composer require phpmailer/phpmailer
                Do not run Composer as root/super user! See https://getcomposer.org/root for details
                Using version ^6.1 for phpmailer/phpmailer
                ./composer.json has been updated
                Loading composer repositories with package information
                Updating dependencies (including require-dev)
                Nothing to install or update
                Generating autoload files
                [root@edomi7 PHPMailer]# composer install
                Do not run Composer as root/super user! See https://getcomposer.org/root for details
                Loading composer repositories with package information
                Installing dependencies (including require-dev) from lock file
                Nothing to install or update
                Generating autoload files
                [root@edomi7 PHPMailer]#

                Kommentar


                  Dann gehen mir für heute die Ideen aus. Ich kann morgen mal schauen, ob ich noch ein Vanilla CentOS7 VM Image habe und die Installation noch mal nachstellen.

                  Kommentar


                    Schonmal Danke für deine Mühen!

                    Kommentar


                      Kannst du mal folgendes auf der Kommandozeile des EDOMI Servers machen und posten was da raus kommt: (es sollte "7" ausgegeben werden)

                      Code:
                      echo "<? echo PHP_MAJOR_VERSION.\"\n\"; ?>" | php
                      Außerdem die Frage: Ist E18 auf /usr/local/edomi/main/include/php/PHPMailer gesetzt?

                      Und gibt es die Datei

                      Code:
                      ls /usr/local/edomi/main/include/php/PHPMailer/vendor/autoload.php

                      Kommentar


                        Ja, es wird 7 zurückgegeben (Mulitcast in meinem UDP-Baustein funktioniert jetzt ja auch prima :-) )

                        E18 ist korrekt

                        Es gibt die Datei, ja

                        Dass das PHPMailer Verzeichnis bis auf composer.json composer.lock und vendor leer ist, ist normal?

                        Kommentar


                          Nein, das ist nicht normal. Zumindest nicht, wenn das vendor Verzeichnis auch leer ist.
                          Ich habe es gerade auf meinem bestehenden CentOS7 nochmal in einem Testverzeichnis nachgestellt:

                          Das sah dann nach dem composer require ... so aus:

                          Code:
                          PHPMailer/
                          PHPMailer/composer.json
                          PHPMailer/vendor
                          PHPMailer/vendor/phpmailer
                          PHPMailer/vendor/phpmailer/phpmailer
                          PHPMailer/vendor/phpmailer/phpmailer/COMMITMENT
                          PHPMailer/vendor/phpmailer/phpmailer/LICENSE
                          PHPMailer/vendor/phpmailer/phpmailer/README.md
                          PHPMailer/vendor/phpmailer/phpmailer/SECURITY.md
                          PHPMailer/vendor/phpmailer/phpmailer/VERSION
                          PHPMailer/vendor/phpmailer/phpmailer/composer.json
                          PHPMailer/vendor/phpmailer/phpmailer/get_oauth_token.php
                          PHPMailer/vendor/phpmailer/phpmailer/language
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-am.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ch.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php
                          PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php
                          PHPMailer/vendor/phpmailer/phpmailer/src
                          PHPMailer/vendor/phpmailer/phpmailer/src/Exception.php
                          PHPMailer/vendor/phpmailer/phpmailer/src/OAuth.php
                          PHPMailer/vendor/phpmailer/phpmailer/src/PHPMailer.php
                          PHPMailer/vendor/phpmailer/phpmailer/src/POP3.php
                          PHPMailer/vendor/phpmailer/phpmailer/src/SMTP.php
                          PHPMailer/vendor/composer
                          PHPMailer/vendor/composer/installed.json
                          PHPMailer/vendor/composer/autoload_namespaces.php
                          PHPMailer/vendor/composer/autoload_psr4.php
                          PHPMailer/vendor/composer/autoload_classmap.php
                          PHPMailer/vendor/composer/autoload_static.php
                          PHPMailer/vendor/composer/autoload_real.php
                          PHPMailer/vendor/composer/ClassLoader.php
                          PHPMailer/vendor/composer/LICENSE
                          PHPMailer/vendor/autoload.php
                          PHPMailer/composer.lock
                          Damit sollte es dann funktionieren. Hast du das PHPMailer komplett gelöscht und neu angelegt?

                          Kommentar


                            Ich hatte das PHPMailer komplett gelöscht, leider weiß ich nicht, wie ich die Verzeichnisse so rekursiv auflisten kann, aber ja unter vendor ist das alles auf den ersten Blick so vorhanden (per FTP gecheckt). Soweit scheint wirklich alles da zu sein, aber klappt einfach nicht Immer noch Class 'PHPMailer' not found
                            Zuletzt geändert von Winni; 05.12.2019, 11:31.

                            Kommentar


                              Noch mal eine banale Frage: Du hast die aktuellste Version des LBS installiert?

                              Das hier ist eigentlich der entscheidende Part im LBS:


                              PHP-Code:
                              if (PHP_MAJOR_VERSION == 5)
                                  require 
                              $E[18]['value'] . '/vendor/phpmailer/phpmailer/PHPMailerAutoload.php';
                                  elseif (
                              PHP_MAJOR_VERSION == 7) {
                                      require 
                              $E[18]['value'] . '/vendor/autoload.php';
                                  } 

                              Kommentar


                                Ja, schon mehrfach kontrolliert... und zigfach neu gestartet, sowohl Edomi, als auch Server

                                Kommentar

                                Lädt...
                                X