J'ai eu le même problème.je reçois toujours un warning au sujet du pack(), mais ça marche quand même.
La solution pour moi était d'ajuster les permissions sur mon fichier XXX key et son répertoire parent (key).
Sur UBUNTU, apache2 marche avec son user/groupe www-data.
Quand j'ai créé la clé API avec Thelia, Thelia a mis le fichier dans local/config/key/XXX.key
Il a fallu faire:
chown <myuser>:www-data local/config/key
chown <myuser>:www-data local/config/key/XXX.key
chmod 0750 local/config/key
chmod 0640 local/config/key/XXX.key
Cela m'a aussi aidé quand j'ai changé $shopurl à:
$shop URL = http://localhost/index_dev.php';
... pour voir les erreurs.
D'ailleurs je crois que les auteurs de l'API devraient clarifier qu'il n'est pas nécessaire d'installer l'API dans le même projet que Thelia.
J'ai eu de la peine à l'installer et j'ai eu plus de succès quand finalement j'ai créé un projet à pars.
1)
mkdir my-client
cd my-client
2) creer un composer.json tout simple.
{
"name": "myclient",
"description": "Thelia client for me",
"license": "GPL-3.0+",
"authors": [
{
"name": "me",
"email": "x@x.com"
}
],
"require": {
"thelia/api-client": "1.0"
}
}
3) faire marcher:
composer install
4)
# test.php
<?php
require './vendor/autoload.php';
use Thelia\Api\Client\Client;
error_reporting(E_ALL); ini_set('display_errors', '1');
$apiToken = 'XXX';
$apiKeyFile = sprintf('./%s.key', $apiToken);
$apiKey = file_get_contents($apiKeyFile);
$shopUrl = 'http://localhost/index_dev.php';
$client = new Client($apiToken, $apiKey, $shopUrl);
list($status, $data) = $client->listProducts();
print_r($data);
5)
php test.php
Last edited by limposteur (07-09-2017 21:55:29)