我已尽力解决此问题。我尝试将PHP5重新安装到PHP 7.2,再重新安装到PHP 7.3,然后完全重新安装cURL。
错误?
没有错误...仅返回空白页。但是,如果我在本地进行操作,它将向我提供我所请求的API的信息,但是当我尝试将其移至服务器时却无法提供。即使执行print_r并回显它,哪一个将仅返回空白?
我的脚本使用PHP编写,工作正常,可以在Laragon和XAMPP上本地运行。完全没有错误,也检查了服务器日志,但是它不会为我返回错误,因此我可以轻松解决它。它只是空白。
我觉得没有必要共享我的代码,因为这与它无关。
当我做PHPINFO();它表明我已经安装了JSON和CURL并可以正常工作。
我可以做var_dump(curl_version());工作完全正常。
有任何想法吗?愿意做任何事情,因为现在这只是Apache2和Ubuntu 18.10的全新安装。
最佳答案
显然我是个白痴,并且已经为这个问题工作了整整一天。
仅查找!
我的返回URL与我提供的API的URL不匹配,因此为什么它返回空白...
$redirect_uri = "https://xxxyyy.com";
$token_request = "https://discordapp.com/api/oauth2/token";
$token = curl_init();
curl_setopt_array($token, array(
CURLOPT_URL => $token_request,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array(
"grant_type" => "authorization_code",
"client_id" => "xxxxx",
"client_secret" => "xxxxx",
"redirect_uri" => $redirect_uri,
"code" => $_GET["code"]
)
));
curl_setopt($token, CURLOPT_RETURNTRANSFER, true);
$resp = json_decode(curl_exec($token));
curl_close($token);
if (isset($resp->access_token)) {
$access_token = $resp->access_token;
$info_request = "https://discordapp.com/api/users/@me";
$info = curl_init();
curl_setopt_array($info, array(
CURLOPT_URL => $info_request,
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer {$access_token}"
),
CURLOPT_RETURNTRANSFER => true
));
$user = json_decode(curl_exec($info));
curl_close($info);
Redirect_uri是xyxy而不是xxxyyy,因此显然无法正常工作。
老实说,我不认为这是代码,我曾尝试以多种方式来对其进行操作以修复它,但似乎没有什么改变,只是直到现在我才注意到URL从未改变,因此我进行了更改。然后我们去。完美的工作。
无论如何,谢谢你们xD,希望这会使某人的日子变得更好一点哈哈。
非常爱,巴比伦。
关于php - Curl在XAMPP和LARAGON上工作,但在Ubuntu APACHE2/CentOS APACHE上不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56783635/