Odoo + Ripcord PHP XMLRPC 库:"Could not access https://demo.odoo.com/start"

Odoo + Ripcord PHP XMLRPC library: "Could not access https://demo.odoo.com/start"

我正在尝试建立从我的 PHP 脚本到 Odoo 服务器的连接,但是 运行 遇到不一致的连接问题。

我有 3 个测试地点:

  1. 本地主机
  2. 域 A
  3. 域 B

和 2 个测试脚本:

Odoo 演示

require_once("ripcord.php");
$info = ripcord::client('https://demo.odoo.com/start')->start();
print_r($info);

Odoo 目标服务器

require_once("ripcord.php");
$common = ripcord::client("###.###.###.##:8069/xmlrpc/2/common");
print_r($common->version());

这给我带来了奇怪且不一致的结果:

版本

本地主机:

服务器(域A和域B):

奇怪的是域A和域B在同一台服务器上。哪些因素可以决定请求是否成功?更重要的是,如何从A域和B域成功访问Odoo目标服务器?

原来我的问题有两个:

  1. 域 B 的默认 RipcurlTransport (Stream) 似乎有问题;可能是文件系统权限的问题。改用Curl解决了无法连接Odoo演示数据库的问题
  2. 服务器在防火墙后面,需要允许到端口 8069 的传出连接。这解决了无法连接到生产数据库的问题。