Unirest POST 请求不会 运行 在 PHP

Unirest POST request won't run in PHP

我有一段代码,几乎是最基本的代码,但出于某种原因,它只是拒绝 运行:

<?php
require_once "unirest/src/Unirest.php";

$photo_url = "http://api.animetrics.com/img/test/sc.jpg";
// These code snippets use an open-source library.
$response = Unirest::post("<--URL-->",
  array(
    "X-Mashape-Key" => "<--API Key-->",
    "Content-Type" => "application/x-www-form-urlencoded",
    "Accept" => "application/json"
  ),
  array(
    "selector" => "FACE, EYES, FULL",
    "url" => "http://api.animetrics.com/img/test/sc.jpg"
  )
);
echo $response;
?>

这个代码块是直接从mashape网站上截取的,我简单下载了Unirest文件。我也确定我的路径是正确的。

我调查了一下并尝试在 Unirest 文件中添加一个静态 class 函数来打印一些东西,不出所料,它没有用。

这是我添加的代码块:

<?php

namespace Unirest;

echo "in file";

$file = new File(); 

$file->printa("abc");

class File
{

    public static function printa($a) {
        echo $a;
    } 
....

在同一个文件中,$file->printa("abc"); 工作得很好,但是当从不同的文件调用时,File::printa("abc");Unirest::printa("abc");File\Unirest::printa("abc"); 只是拒绝 运行.

我不确定,但我对命名空间有什么误解吗?我会认为 Unirest::printa("abc"); 是访问静态 class 函数的正确方法吗?

如果有任何关于此的建议,我将不胜感激,谢谢。

自 Unirest 2.0 发布以来,方法和 class 签名发生了变化。不幸的是,Mashape 样本片段尚未更新。

您应该调用 Unirest\Request::post 而不是调用 Unirest::post,请参阅 unirest documentation 了解更多详情。

我们将很快更新 Mashape 样本以反映这一变化。

我是 unirest-php 的作者,我在 Mashape 工作。