Hallo Leute,
Ich hab mir ein kleines PHP Script geschrieben um die Bestellungsabarbeitung meines Shops zu automatisieren. Jetzt habe ich den Teil der auf der Ubuntu 19.04 Maschine nicht mehr funktioniert rauskopiert & mit Windows 10 x64 getestet. Unter Win 10 funkts reibungslos. Vor paar Tagen lief der Code noch Problemlos auch unter Ubuntu, bis ich auf die Idee kam den Instagram Bot 'Instapy' zu installieren.
Dafür habe ich folgende Befehle ausgeführt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | General dependencies $ sudo apt-get update $ sudo apt-get -y upgrade $ sudo apt-get -y install unzip python3-pip python3-dev build-essential libssl-dev libffi-dev xvfb $ sudo pip3 install --upgrade pip $ export LANGUAGE=en_US.UTF-8 $ export LANG=en_US.UTF-8 $ export LC_ALL=en_US.UTF-8 $ locale-gen en_US.UTF-8 $ sudo dpkg-reconfigure locales $ pip3 install --upgrade pip $ cd ~ $ wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" $ sudo dpkg -i google-chrome-stable_current_amd64.deb $ sudo apt-get install -y -f $ sudo rm google-chrome-stable_current_amd64.deb $ pip install instapy |
Meine Vermutung zufolge wird mein Script wegen der Änderung der Location nicht mehr ausgeführt.
Das Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | require_once 'cw/vendor/autoload.php'; require_once 'cw/utils.php'; $params = [ 'cw.client_id' => '', 'cw.client_secret' => '', 'cw.endpoint_uri' => \CodesWholesale\CodesWholesale::LIVE_ENDPOINT, 'cw.token_storage' => new \CodesWholesale\Storage\TokenSessionStorage() ]; $clientBuilder = new ClientBuilder($params); $client = $clientBuilder->build(); $buyProductId = "04a8137c-0de9-42d4-8959-f15ca2567862"; try { $_SESSION["php-oauth-client"] = []; $createdOrder = Order::createOrder( [ [ "productId" => $buyProductId, "quantity" => "1", ], ], null); } catch (ResourceError $e) { if ($e->isInvalidToken()) { echo "if you are using SessionStorage refresh your session and try one more time."; // $buystatus = 3; } else // handle scenario when account's balance is not enough to make order if ($e->getStatus() == 400 && $e->getErrorCode() == 10002) { echo $e->getMessage(); } else $buystatus = 3; if ($e->getStatus() == 404 && $e->getErrorCode() == 20001) { } else { } } catch (Exception $exception) { } |
Die Exception beim Ausführen auf der PHP CLI
1 2 3 4 5 6 7 8 9 10 11 12 13 | PHP Warning: session_start(): Cannot start session when headers already sent in /home/ServerScripts/4checkBuyCode/cw/src/CodesWholesale/Storage/TokenSessionStorage.php on line 18 PHP Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error: `POST https://api.codeswholesale.com/oauth/token` resulted in a `403 Forbidden` response: <html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> </bo (truncated...) in /home/ServerScripts/4checkBuyCode/cw/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 /home/ServerScripts/4checkBuyCode/cw/vendor/guzzlehttp/guzzle/src/Middleware.php(66): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response)) #1 /home/ServerScripts/4checkBuyCode/cw/vendor/guzzlehttp/promises/src/Promise.php(203): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response)) #2 /home/ServerScripts/4checkBuyCode/cw/vendor/guzzlehttp/promises/src/Promise.php(156): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), Array) #3 /home/ServerScripts/4checkBuyCode/cw/vendor/guzzlehttp/promises/src/TaskQu in /home/ServerScripts/4checkBuyCode/cw/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 113 |
Weißt jemand wie ich den Fehler beheben kann ohne das System neu aufsetzen zu müssen ?
Riesen Dank im Voraus ! ☺
Moderiert von ChickenLipsRfun2eat:
Thema in einen passenden Forenbereich verschoben. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“) in jedem Forenbereich. Danke.