Ankündigung

Einklappen
Keine Ankündigung bisher.

Composer Installation für Domain Factory

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

    Composer Installation für Domain Factory

    Guten Tag,
    ich habe folgendes Problem,
    ich möchte gerne mit php auf die API von WooCommerce zugreifen, um zukünftig die Bestellungen von extern zu verarbeiten. Dies soll webbasiert laufen.
    Dazu muss ich laut der Dokumentation von Woocommerce den Composer bereit stellen.
    Hier einmal den API Ausschnitt:
    PHP-Code:
    <?php
    require __DIR__ '/vendor/autoload.php';
    use 
    Automattic\WooCommerce\Client;
    $woocommerce = new Client(
        
    'https://meine_Webseite.de',
        
    'ck_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
        
    'cs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
        [
            
    'wp_api' => true,
            
    'version' => 'wc/v3'
        
    ]
    );
    $data = [
        
    'payment_method' => 'bacs',
        
    'payment_method_title' => 'Direct Bank Transfer',
        
    'set_paid' => true,
        
    'billing' => [
            
    'first_name' => 'John',
            
    'last_name' => 'Doe',
            
    'address_1' => '969 Market',
            
    'address_2' => '',
            
    'city' => 'San Francisco',
            
    'state' => 'CA',
            
    'postcode' => '94103',
            
    'country' => 'US',
            
    'email' => '[email protected]',
            
    'phone' => '(555) 555-5555'
        
    ],
        
    'shipping' => [
            
    'first_name' => 'John',
            
    'last_name' => 'Doe',
            
    'address_1' => '969 Market',
            
    'address_2' => '',
            
    'city' => 'San Francisco',
            
    'state' => 'CA',
            
    'postcode' => '94103',
            
    'country' => 'US'
        
    ],
        
    'line_items' => [
            [
                
    'product_id' => 249,
                
    'quantity' => 2
            
    ]
        ]
    ];
    print_r($woocommerce->post('orders'$data));
    ?>

    Ich selber bin so weit, dass ich den Composer schon per ssh mit Putty installiert habe:

    [email protected] ~ % cd .composer
    You are already using composer version 1.10.9 (stable channel).
    [email protected] ~/composer % php composer.phar
    ______
    / ____/___ ____ ___ ____ ____ ________ _____
    / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
    /_/
    Composer version 1.10.9 2020-07-16 12:57:00

    Leider habe ich für Domain Factory keine sichere Anleitung gefunden, was zu beachten ist.

    Installiert habe ich den composer mit dem Befehl:
    curl -s http://getcomposer.org/installer | php

    Unter ~/ wurde das .composer Verzeichnis angelegt.
    Der Composer "composer.phar" befindet sich ebenfalls unter ~/.
    Ich habe die .bashrc Datei in dem Pfad ~/ mit dem Alias angelegt.
    In der .bashrc Datei steht folgendes drin:
    alias composer="~/composer.phar"
    Dann muss man wohl eine composer.json anlegen, die liegt bei mir ebenfalls unter ~/, wodurch ich die Vendor Verzeichnisstruktur angelegt habe. Das Verzeichnis "Vendor" liegt auch unter ~/
    Laut den gelesenen Anleitungen soll man den Composer unter /usr/local/bin/ bereit stellen.(Globalisierung) Jedoch habe ich darauf keinen Zugriff. Es kommt die Fehlermeldung Permission Denied. Ist die Bereitstellung dort zwingend erforderlich?
    Muss bei DF noch die PHP.ini bereit gestellt werden? Kann ich die PHP.ini Datei z.B auch im root hinterlegen?

    Wenn ich zumindest meine php App teste, dann kommt eine HTTP 500 Errormeldung.

    Ich selber weiß jetzt nicht, ob die installation nun ausreicht. Diese Meldung kommt auf jeden Fall immer nur dann, wenn ich die WooCommerce API testen möchte.

    Kann mir jemand helfen? Welche Erfahrungen habt Ihr gemacht und wie habt ihr den Composer bei Domain Factory installiert?
    Das wäre echt super, wenn sich jemand meldet. Hab heute damit einen ganzen Tag versenkt. ^^"

    Viele Grüße
    Jurij

    #2
    Ich konnte mein Problem lösen.
    Mein Beitrag kann geschlossen werden :-)

    Gruß
    Jurij

    Kommentar


      #3
      Hallo Jurij,

      können Sie andere Mitleser dahingehend erleuchten, wie Sie das Problem lösen konnten? Da freuen sich sicher später andere User drüber

      Da es oftmals später ähnliche Fragen gibt und sich dann in Threads wie diesem anhängen, schließen wir in dem Sinne meist nichts.

      Mit freundlichen Grüßen

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

      Kommentar


        #4
        Ja klar,
        ich bin anfangs davon ausgegangen, dass ich den Composer direkt über ssh mit z.B putty auf den Webspace installieren muss. Schnell musste ich aber feststellen, dass die Anleitungen oftmals sehr dürftig sind und mich nicht zum Ziel brachten.
        Ich habe somit jetzt einen anderen Ansatz gewählt.

        1. Ich habe php lokal auf mein Notebook installiert,
        Anschließend den Composer (exe) herunter geladen und ebenfalls auf mein Notebook installiert.

        Die Anleitung findest du hier:
        https://devanswers.co/install-compos...comment-header


        2. Durch die Windows Composer-Installation wurde das Vendor Verzeichnis mit allen Bibliotheken installiert. Alles was für den laufenden Betrieb benötigt wird befindet sich in diesem Verzeichnis.
        Also habe ich ganz stumpf das Vendor Verzeichnis kopiert und in meinem Webspace, wo ich es hin haben wollte, bereit gestellt.

        3. Zu aller letzt musst du in deiner PHP Datei den Pfad anpassen, wo du dein Vendor Verzeichnis hin kopiert hast.
        <?php
        require __DIR__ . '/vendor/autoload.php';

        Und schon läuft die API :-))))

        Viel Erfolg und ich hoffe, ich konnte euch helfen.

        Viele Grüße
        Jurij
        Zuletzt geändert von [email protected]; 04.08.2020, 23:49.

        Kommentar


          #5
          Leider zu spät gelesen.

          Andere Möglichkeit: Hier die aktuelle composer.phar runterladen, NICHT versuchen über den Installer zu installieren, das geht eigentlich bei Shared Hosting immer schief. https://getcomposer.org/download/

          Die kann dann mit dem entsprechend Aufruf der PHP-Binary auf dem Webserver + " composer.phar" aufgerufen werden.
          Gerade die PHP-Binary ist wichtig, da bei "php" u.U. eine alte Version genutzt wird.
          Per SSH sollte das auch klappen, da dort die Scriptlimits afair 3 fach so hoch sind.
          Generell braucht aber Composer recht viel Power weswegen es hier auch lange Zeit mit Contao nur über Bastelein funktioniert hat oder sogar nur so funktioniert.

          Kommentar

          Lädt...
          X