如何使用PHP7 Ripcord库获取Odoo数据?

如何使用PHP7 Ripcord库获取Odoo数据?,php,odoo,odoo-8,xml-rpc,ripcord,Php,Odoo,Odoo 8,Xml Rpc,Ripcord,我试图通过XMLRPC从Odoo获取一些数据,我正在使用PHP及其Ripcord库(推荐使用) 因此,我将遵循该页上所写的步骤 首先,我从下载了Ripcord文件。我将它们保存在一个名为ripcord的文件夹中,该文件夹位于PHP页面的索引目录中 其次,我为PHP7启用了OpenSSL和XMLRPC扩展。我认为我做得很好,因为如果我执行下一句话: $modules = get_loaded_extensions(); foreach ($modules as $module) { ech

我试图通过XMLRPC从Odoo获取一些数据,我正在使用PHP及其Ripcord库(推荐使用)

因此,我将遵循该页上所写的步骤

首先,我从下载了Ripcord文件。我将它们保存在一个名为ripcord的文件夹中,该文件夹位于PHP页面的索引目录中

其次,我为PHP7启用了OpenSSL和XMLRPC扩展。我认为我做得很好,因为如果我执行下一句话:

$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

下面是my 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
变量中没有任何内容。有人能告诉我发生了什么事吗

注意

可能这个问题是重复的:


但由于没有答案,我试图提供更多关于我的信息。

好的,我没有在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/>';
}
$url='1!'http://localhost:30080';
$db='db_v80_test_01';
$username='admin';
$password='adminpwd';
一次需要_('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\u kw(
$db,
$uid,
$password,
“res.partner”,
“搜索”,
排列(
排列(
数组('is_company','=',true),
数组('customer','=',true)
)
)
);
echo('RESULT:
'); foreach($合伙人作为$合伙人){ echo$partner.“
”; }
forvas,你是如何让它工作的?你犯了什么错误?当我var_dump($partners)时,我总是得到这个数组{“faultCode”=>3,“faultString”=>“访问被拒绝”}。另外,当我调用ripcord::client($url)->start()方法时,我得到了一个致命错误:Uncaught ripcord_TransportException:无法访问我对此一无所知,只记得它起作用了。您为连接选择的用户是否具有足够的Odoo访问权限以查看您通过查询获得的所有合作伙伴?是的,我认为它具有访问权限,因为我使用了Odoo试用版。我甚至使用了上面的代码进行测试,但我无法让它工作。这里是我问我的问题的地方,如果你想进一步了解一下:因此,我决定购买一些模块,并为我的新数据库的IP地址打开8069端口,它起了作用:)现在我可以推断,Odoo演示不起作用。