Как использовать библиотеку PHP7 Ripcord для получения данных Odoo?

Я пытаюсь получить некоторые данные из Odoo через XMLRPC, и я работаю с PHP и его библиотекой Ripcord (рекомендуется https://www.odoo.com/documentation/8.0/api_integration.html).

Поэтому я следую инструкциям, написанным на этой странице.

Во-первых, я скачал файлы Ripcord с https://github.com/poef/ripcord.git. Я сохранил их в папке с именем разрывная веревка, находится в каталоге index моей страницы PHP.

Во-вторых, я включил расширения OpenSSL и XMLRPC для PHP7. Я думаю, что я сделал это хорошо, потому что, если я выполню следующее предложение:

$modules = get_loaded_extensions();
foreach ($modules as $module) {
echo $module.', ';
}

Я получаю этот результат:

Ядро, дата, libxml, OpenSSL, pcre, zlib, фильтр, хэш, отражение,
SPL, сессия, стандарт, apache2handler, mysqlnd, PDO, xml, календарь,
ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, iconv, json,
exif, mcrypt, mysqli, pdo_mysql, Phar, posix, readline, shmop,
SimpleXML, сокеты, sysvmsg, sysvsem, sysvshm, токенизатор, wddx,
XmlReader, XMLRPC, xmlwriter, xsl, Zend OPcache,

Теперь это код моего index.php:

$url = 'http://localhost:30080';
$db = 'db_v80_test_01';
$username = 'admin';
$password = 'adminpwd';

require_once('ripcord/ripcord.php');

// $info = ripcord::client($url)->start();
// list($url, $db, $username, $password) = array($info['host'], $info['database'], $info['user'], $info['password']);

$common = ripcord::client($url.'/xmlrpc/2/common');

$uid = $common->authenticate($db, $username, $password, array());
die($uid);

Проблема в том, что я ничего не получаю в $uid переменная. Кто-нибудь может сказать мне, что происходит?

НОТА

Может быть, этот вопрос дублируется: Веб-сервис API Odoo ничего не возвращает

Но поскольку у него не было ответов, я попытался дать больше информации о себе.

1

Решение

Хорошо, я не включил журнал ошибок в php.ini, поэтому я всегда ничего не получаю. Если бы я включил его раньше, я бы увидел, что ошибка была в том, что я пытался напечатать какое-то значение, которое я не могу напечатать, поэтому проблема была в команде die.

Теперь он отлично работает с этим кодом:

$url = 'http://localhost:30080';
$db = 'db_v80_test_01';
$username = 'admin';
$password = 'adminpwd';

require_once('ripcord/ripcord.php');

$common = ripcord::client($url.'/xmlrpc/2/common');
$uid = $common->authenticate($db, $username, $password, array());
$models = ripcord::client("$url/xmlrpc/2/object");
$partners = $models->execute_kw(
$db,
$uid,
$password,
'res.partner',
'search',
array(
array(
array('is_company', '=', true),
array('customer', '=', true)
)
)
);

echo('RESULT:<br/>');
foreach ($partners as $partner) {
echo $partner.'<br/>';
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]