本文介绍了Odoo + Ripcord PHP XMLRPC 库:“无法访问 https://demo.odoo.com/start"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to make a connection from my PHP script to an Odoo server, but running into inconsistent connection problems.

我有 3 个测试地点:

I have 3 test locations:

  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());

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

This gives me strange and inconsistent outcomes:

  • Localhost + Odoo 演示:成功
  • Localhost + Odoo 目标服务器:成功
  • 域 A + Odoo 演示:成功
  • 域 A + Odoo 目标服务器:无法访问 ###.###.###.##:8069
  • 域 B + Odoo 演示:无法访问 https://demo.odoo.com/start
  • 域 B + Odoo 目标服务器:无法访问 ###.###.###.##:8069

版本:

本地主机:

  • PHP 版本:7.0.15
  • Ripcord 版本:0.9

服务器(域 A 和域 B):

Server (Domain A & Domain B):

  • PHP 版本:5.6.30
  • Ripcord 版本:0.9

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

What makes it stranger is that Domain A and Domain B are on the same server. What factors could determine whether or not the request succeeds? More importantly, how can I successfully access the Odoo Target Server from Domain A and B?

推荐答案

原来我的问题有两个:

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

这篇关于Odoo + Ripcord PHP XMLRPC 库:“无法访问 https://demo.odoo.com/start"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 14:27