【问题标题】:PHP POST using CURL and JSON content. Error 500PHP POST 使用 CURL 和 JSON 内容。错误 500
【发布时间】:2022-01-26 05:31:37
【问题描述】:

我找到了一些关于使用 curl 的 post 和 get 方法的示例,但我无法处理服务器内部错误 500。google 控制台报告 fetch 类型的错误 500。 我检查了我的 php 配置,似乎没问题。 上下文:基于 elementor 模板的 wordpress 安装的 functions.php 中的函数。 Ionos 托管。如何调试此问题?

      $url = 'https://myurl.com/';
    
      $fields = array('var1' => 'value1', 'var2' => 'value2');
      $headers = array('X-MY-TOKEN: tokenValue', 'Content-Type: application/json');
    
      $fields_json = json.encode($fields);
      
      //open connection
      $ch = curl_init();
    
      //setup
      curl_setopt($ch,CURLOPT_URL, $url);
      curl_setopt($ch,CURLOPT_POST, 1);
      curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); 
      curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_json);
      curl_setopt($ch,CURLOPT_HTTPHEADER, $headers);
    
      //execute post
      $response = curl_exec($ch);

更新:php 日志错误显示:PHP Fatal error: Uncaught Error: Call to undefined function encode() 然后如何发送带有 application/json 内容类型的 POST?

【问题讨论】:

标签: php wordpress curl elementor


【解决方案1】:

根据服务器抛出的错误,函数 encode() 找不到/不存在返回 500 错误代码。我假设你打错了 json_encode()。

应该是这样的:

$fields_json = json_encode($fields);

来自文档。 https://www.php.net/manual/en/function.json-encode.php

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
  • 哦,我的错...它正在工作,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-01
  • 1970-01-01
  • 2018-01-15
  • 2014-01-28
  • 2011-04-05
  • 1970-01-01
相关资源
最近更新 更多