【问题标题】:Php Query regarding URL setting in CURL关于 CURL 中 URL 设置的 PHP 查询
【发布时间】:2019-02-06 18:06:47
【问题描述】:

我是 PHP 新手,几个小时前才开始探索它。

我在 Openshift 中工作并部署了一个 CustomerApp Pod,它的服务名称为 customer 和端口 8080

我在同一个项目/命名空间中部署了另一个简单的 PHP 应用程序,该应用程序具有 index.php 和以下内容。当我尝试调用我的 PHP 应用程序的 Route 时,它​​给出了 503 错误。

我猜http://customer:8080 被视为字符串而不是 URL。我应该添加什么来告诉 PHP 它应该被视为一个 URL?

<?php 
$url="http://customer:8080";

$client=curl_init($url);

curl_setopt($client,CURLOPT_RETURNTRANSFER,1);
$response=curl_exec($client);

echo $response;
?>

【问题讨论】:

  • URL 是字符串,不需要强制。我会在你的curl_exec() 之后调用curl_getinfo() 并转储结果。这将显示有关连接的详细信息。
  • 基本上我同意亚历克斯。您正在正确初始化 curl,但执行可能会失败。如果没有更多信息,这是无法回答的,您必须学习如何在 PHP 中进行调试。使用var_dump($result),如果结果使用echo curl_error()。使用调试信息 (php.net/manual/de/function.curl-error.php) 更新您的问题。

标签: php openshift openshift-origin


【解决方案1】:

curl_init() 调用不需要 arg -

$url = "https://api.example.com:8000/get/some/info";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_result = curl_exec($ch);
curl_close($ch);

【讨论】:

  • 我是 PHP 新手,但我想它确实需要一个 arg,因为当我使用其他 REST 服务时,它确实提供了一个有效的响应作为回显。 Openshift 的问题是我们只提到了Service:Port的名字
猜你喜欢
  • 1970-01-01
  • 2016-01-05
  • 2012-07-23
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 2016-05-09
  • 1970-01-01
相关资源
最近更新 更多