目錄
回复讨论(解决方案)
首頁 後端開發 php教程 【求指点】自学与新浪微博开放平台对接,运行新浪提供的SDK报错

【求指点】自学与新浪微博开放平台对接,运行新浪提供的SDK报错

Jun 23, 2016 pm 01:50 PM
平台 開放 提供 新浪 運行

环境:Win7(x64)、Wamp集成(PHP5.4.3+MySQL5.5.24+Apache2.4.2+PHPMyAdmin3.5.1)
新浪PHP SDK版本:最老的那个(weibo-oauth-class-with-image-avatar-06-29-update)
目的:学做简易的微博,目的与新浪微博开放平台链接上
问题: 将一些"="不规范的地方改正后,有报错提示。
 "WB_AKEY" "WB_SKEY"已申请,"WB_CALLBACK_URL"路径也改过了
-----------------------------------报错内容------------------------------------------
( ! ) SCREAM: Error suppression ignored for 
( ! ) Fatal error: Call to undefined function curl_init() in C:\wamp\www\PHP100\PHP100-sina\weibooauth.php on line 1687 
Call Stack 
# Time Memory Function Location 
1 0.0008 250576 {main}( ) ..\index.php:0 
2 0.0060 610864 WeiboOAuth->getRequestToken( ) ..\index.php:8 
3 0.0060 611320 WeiboOAuth->oAuthRequest( ) ..\weibooauth.php:1575 
4 0.0070 615504 WeiboOAuth->http( ) ..\weibooauth.php:1674 

-------------------------------index.php部分代码------------------------------------
session_start();
//if( isset($_SESSION['last_key']) ) header("Location: weibolist.php");
include_once( 'config.php' );
include_once( 'weibooauth.php' );
$o = new WeiboOAuth( WB_AKEY , WB_SKEY  );
$keys = $o->getRequestToken(); 报错行
if( strpos( "http://localhost/PHP100/PHP100-sina/" , 'index.php' ) === false )
$callback =  'http://localhost/PHP100/PHP100-sina/callback.php';
else
$callback =  str_replace( 'index.php' , 'callback.php' , $_SERVER['SCRIPT_URI'] );
------------------------------weibooauth.php部分代码--------------------------------------
    function getRequestToken($oauth_callback = NULL) { 
        $parameters = array(); 
        if (!empty($oauth_callback)) { 
            $parameters['oauth_callback'] = $oauth_callback; 
        }  
         $request = $this->oAuthRequest($this->requestTokenURL(), 'GET', $parameters);  报错行
        $token = OAuthUtil::parse_parameters($request); 
        $this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']); 
        return $token; 
    } 

===============================================================================================
    function oAuthRequest($url, $method, $parameters , $multi = false) { 

        if (strrpos($url, 'http://') !== 0 && strrpos($url, 'http://') !== 0) { 
            $url = "{$this->host}{$url}.{$this->format}"; 
        } 
        // echo $url ; 
        $request = OAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $parameters); 
        $request->sign_request($this->sha1_method, $this->consumer, $this->token); 
        switch ($method) { 
        case 'GET': 
            //echo $request->to_url(); 
             return $this->http($request->to_url(), 'GET');  报错行
        default: 
            return $this->http($request->get_normalized_http_url(), $method, $request->to_postdata($multi) , $multi ); 
        } 
    } 


回复讨论(解决方案)

Fatal error: Call to undefined function curl_init() ...
你没有加载 php_curl 扩展

Fatal error: Call to undefined function curl_init() ...
你没有加载 php_curl 扩展


include?

php.ini 中
extension=php_curl.dll

默认注释掉的
;extension=php_curl.dll

注意这个扩展需要 libeay32.dll 和 ssleay32.dll 支持库

php.ini 中
extension=php_curl.dll

默认注释掉的
;extension=php_curl.dll

注意这个扩展需要 libeay32.dll 和 ssleay32.dll 支持库


extension=php_curl.dll 把;去掉了
怎么查看libeay32.dll 和 ssleay32.dll?

在 php 安装目录中
你能用了就可以了,如果加载出错才需要做相关处理

在 php 安装目录中
你能用了就可以了,如果加载出错才需要做相关处理


libeay32.dll 和 ssleay32.dll
在php目录下都有

那不就行了?
重启一下 apache,再测试你的代码

那不就行了?
重启一下 apache,再测试你的代码


重启了,你说的dll文件system32,php文件夹下都有,还是
( ! ) SCREAM: Error suppression ignored for
( ! ) Fatal error: Call to undefined function curl_init() in C:\wamp\www\PHP100\PHP100-sina\weibooauth.php on line 1687
Call Stack
# Time Memory Function Location
1 0.0005 251568 {main}( ) ..\index.php:0
2 0.0062 611880 WeiboOAuth->getRequestToken( ) ..\index.php:8
3 0.0062 612336 WeiboOAuth->oAuthRequest( ) ..\weibooauth.php:1575
4 0.0069 616528 WeiboOAuth->http( ) ..\weibooauth.php:1674
是不是因为我用的是php sdk最老的版本啊?
我又下个最新版的php sdk,但提示访问出错了!
你所访问的站点在新浪微博的认证失败,请你联系 作者 或者稍后再试。
(error:redirect_uri_mismatch)
是不是得等认证?才能本地测试,我在OAuth2.0 授权设置里也设置回调页面地址了

那不就行了?
重启一下 apache,再测试你的代码


谢谢版主!
我自己的问题,config。php回调地址我打成了http://http://………
脑子进水了
-------------------------------------------------------------------
授权页进去了,一切正常

( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Undefined index: keys in C:\wamp\www\PHP100\PHP100-sina\callback.php on line 9
Call Stack
# Time Memory Function Location
1 0.0003 250944 {main}( ) ..\callback.php:0

( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Undefined index: keys in C:\wamp\www\PHP100\PHP100-sina\callback.php on line 9
Call Stack
# Time Memory Function Location
1 0.0003 250944 {main}( ) ..\callback.php:0

( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Undefined index: oauth_verifier in C:\wamp\www\PHP100\PHP100-sina\callback.php on line 11
Call Stack
# Time Memory Function Location
1 0.0003 250944 {main}( ) ..\callback.php:0

( ! ) SCREAM: Error suppression ignored for
( ! ) Fatal error: Call to undefined function curl_init() in C:\wamp\www\PHP100\PHP100-sina\weibooauth.php on line 1687
Call Stack
# Time Memory Function Location
1 0.0003 250944 {main}( ) ..\callback.php:0
2 0.0040 611360 WeiboOAuth->getAccessToken( ) ..\callback.php:11
3 0.0040 611816 WeiboOAuth->oAuthRequest( ) ..\weibooauth.php:1611
4 0.0047 616016 WeiboOAuth->http( ) ..\weibooauth.php:1674
这又是肿么了????

引用 7 楼 xuzuning 的回复:那不就行了?
重启一下 apache,再测试你的代码
谢谢版主!
我自己的问题,config。php回调地址我打成了http://http://………
脑子进水了
-------------------------------------------------------------------
授权页进去了,一切正常……


config.php
session_start();

include_once( 'config.php' );
include_once( 'saetv2.ex.class.php' );
$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = WB_CALLBACK_URL;
try {
$token = $o->getAccessToken( 'code', $keys ) ;
} catch (OAuthException $e) {
}
}
--------------------------------
是不是我应该把WB_AKEY , WB_SKEY, WB_CALLBACK_URL;替换一下?

不是还有  Fatal error: Call to undefined function curl_init() in .... 吗?
你的 curl 根本就没有加载成功!

拷贝 libeay32.dll 和 ssleay32.dll 到 system32 中
由于你的操作系统是 64 位的,可能还需设置这两个文件以 32 位兼容方式运行

不是还有  Fatal error: Call to undefined function curl_init() in .... 吗?
你的 curl 根本就没有加载成功!

拷贝 libeay32.dll 和 ssleay32.dll 到 system32 中
由于你的操作系统是 64 位的,可能还需设置这两个文件以 32 位兼容方式运行


Fatal error: Call to undefined function curl_init() 问题终于解决了
现在的报错是
( ! ) Notice: Undefined index: keys in C:\wamp\www\PHP100\PHP100-sina\callback.php on line 9
Call Stack
# Time Memory Function Location
1 0.0004 250992 {main}( ) ..\callback.php:0

( ! ) Notice: Undefined index: keys in C:\wamp\www\PHP100\PHP100-sina\callback.php on line 9
Call Stack
# Time Memory Function Location
1 0.0004 250992 {main}( ) ..\callback.php:0

( ! ) Notice: Undefined index: oauth_verifier in C:\wamp\www\PHP100\PHP100-sina\callback.php on line 11
Call Stack
# Time Memory Function Location
1 0.0004 250992 {main}( ) ..\callback.php:0

( ! ) Notice: Undefined index: oauth_token in C:\wamp\www\PHP100\PHP100-sina\weibooauth.php on line 1613
Call Stack
# Time Memory Function Location
1 0.0004 250992 {main}( ) ..\callback.php:0
2 0.0050 607424 WeiboOAuth->getAccessToken( ) ..\callback.php:11

( ! ) Notice: Undefined index: oauth_token_secret in C:\wamp\www\PHP100\PHP100-sina\weibooauth.php on line 1613
Call Stack
# Time Memory Function Location
1 0.0004 250992 {main}( ) ..\callback.php:0
2 0.0050 607424 WeiboOAuth->getAccessToken( ) ..\callback.php:11
???????, ????????  ???б????
蓝色是个链接,一点会出现如下代码
----------------------------------------------------------------------------------

( ! ) Notice: Undefined index: oauth_token in C:\wamp\www\PHP100\PHP100-sina\weibolist.php on line 8
Call Stack
# Time Memory Function Location
1 0.0009 257280 {main}( ) ..\weibolist.php:0

( ! ) Notice: Undefined index: oauth_token_secret in C:\wamp\www\PHP100\PHP100-sina\weibolist.php on line 8
Call Stack
# Time Memory Function Location
1 0.0009 257280 {main}( ) ..\weibolist.php:0

( ! ) Notice: Undefined index: name in C:\wamp\www\PHP100\PHP100-sina\weibolist.php on line 14
Call Stack
# Time Memory Function Location
1 0.0009 257280 {main}( ) ..\weibolist.php:0
????~ ??????ô?

   输入框,估计是新浪DEMO
?????????

     输入框,估计是新浪DEMO
?????????

      输入框,估计是新浪DEMO

( ! ) Warning: Illegal string offset 'text' in C:\wamp\www\PHP100\PHP100-sina\weibolist.php on line 52
Call Stack
# Time Memory Function Location
1 0.0009 257280 {main}( ) ..\weibolist.php:0
/

( ! ) Warning: Illegal string offset 'text' in C:\wamp\www\PHP100\PHP100-sina\weibolist.php on line 52
Call Stack
# Time Memory Function Location
1 0.0009 257280 {main}( ) ..\weibolist.php:0
4

( ! ) Warning: Illegal string offset 'text' in C:\wamp\www\PHP100\PHP100-sina\weibolist.php on line 52
Call Stack
# Time Memory Function Location
1 0.0009 257280 {main}( ) ..\weibolist.php:0
4

同问。。。。。。。。。。。。。。。。。。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在Linux系統中執行.sh檔? 如何在Linux系統中執行.sh檔? Mar 14, 2024 pm 06:42 PM

如何在Linux系統中執行.sh檔?在Linux系統中,.sh文件是一種被稱為Shell腳本的文件,用於執行一系列的命令。執行.sh檔案是非常常見的操作,本文將介紹如何在Linux系統中執行.sh文件,並提供具體的程式碼範例。方法一:使用絕對路徑執行.sh文件要在Linux系統中執行一個.sh文件,可以使用絕對路徑來指定該文件的位置。以下是具體的步驟:打開終

PyCharm使用教學:詳細指引你執行操作 PyCharm使用教學:詳細指引你執行操作 Feb 26, 2024 pm 05:51 PM

PyCharm是一款非常受歡迎的Python整合開發環境(IDE),它提供了豐富的功能和工具,使得Python開發變得更有效率和便利。本文將為大家介紹PyCharm的基本操作方法,並提供具體的程式碼範例,幫助讀者快速入門並熟練操作工具。 1.下載安裝PyCharm首先,我們需要前往PyCharm官網(https://www.jetbrains.com/pyc

如何從Python中運行Javascript? 如何從Python中運行Javascript? Sep 07, 2023 pm 11:33 PM

在Python中,我們可以使用PyExecJS函式庫或Python的js2py函式庫來執行Javascript程式碼。 PyExecJs函式庫提供了一個一致的API,可以使用各種JavaScript引擎(包括Node.js、JavaScriptCore和Google的V8引擎)從Python中執行JavaScript程式碼。 js2py函式庫允許您透過解析JavaScript程式碼並在Python中解釋它來在Python中執行JavaScript程式碼。本文將教我們如何使用PyExecJS函式庫從Python運行javasc

無法在Windows 7上執行exe檔的原因 無法在Windows 7上執行exe檔的原因 Feb 18, 2024 pm 08:32 PM

為什麼win7不能執行exe檔在使用Windows7作業系統時,許多使用者可能會遇到一個常見的問題,即無法執行exe檔。 exe檔是Windows作業系統中常見的可執行文件,它們通常用於安裝和執行各種應用程式。然而,有些使用者可能會發現,當他們嘗試執行exe檔時,系統並不會回應或給予錯誤訊息。造成這個問題的原因有很多。以下將列舉一些常見的原因以及對應的解

空號檢測平台有哪些?空號偵測工具 空號檢測平台有哪些?空號偵測工具 Mar 07, 2024 pm 01:46 PM

隨著通訊技術的進步,電話聯繫在我們日常生活中變得越來越普遍。然而,有時候我們可能會嘗試撥打一個號碼,卻發現號碼已經無法接通。為了節省時間和精力,許多人開始尋找空號驗證服務來確認號碼的有效性。這種服務可以幫助使用者快速檢查一個號碼是否有效,避免不必要的麻煩。一、空號檢測平台有哪些?用戶可以透過電信業者提供的官方查詢服務,撥打相應的查詢號碼或造訪官方網站來查詢號碼的狀態,包括是否為空號。這種服務是許多業者提供的,方便用戶快速了解號碼的使用情況。線上空號檢測平台現在市場上層出不窮,這些平台提供了快速便

為何無法在Windows 7上執行bat文件 為何無法在Windows 7上執行bat文件 Feb 19, 2024 pm 03:19 PM

為什麼win7不能運行bat檔最近,許多使用Windows7作業系統的使用者反映他們無法執行.bat檔。這引發了廣泛的討論和疑惑。為什麼一個良好運作的作業系統不能運行一個簡單的.bat檔呢?首先,我們要先了解.bat檔的背景。 .bat文件,也稱為批次文件,是一種純文字文件,包含了一系列的命令,這些命令可以被Windows命令解釋器(cmd.ex

matlab怎麼運行m檔-matlab運行m檔教程 matlab怎麼運行m檔-matlab運行m檔教程 Mar 04, 2024 pm 02:13 PM

大家知道matlab怎麼運行m檔嗎?下文小編就帶來了matlab運行m文件的方法教程,希望對大家能夠有所幫助,一起跟著小編來學習一下吧!1、首先打開matlab軟體,選擇左上角的“打開”,如下圖所示。 2、然後選擇要運行的m文件,並且打開,如下圖所示。 3.在視窗按F5來運行程序,如下圖所示。 4.我們可以在命令列視窗和工作區看運行結果,如下圖。 5.直接點選「運行」也可以運行文件,如下圖所示。 6.最後可以在命令列視窗和工作區看m檔案的運行結果,如下圖所示。上面就是小編為大家帶來的matlab怎麼

Optimism幣哪買? Optimism幣在哪個平台交易? Optimism幣哪買? Optimism幣在哪個平台交易? Feb 28, 2024 pm 04:40 PM

Optimism幣哪買? Optimism幣可以在許多加密貨幣交易所購買,包括:幣安火幣OKX抹茶Gate.ioKrakenBittrexPoloniexCoinbaseProGemini您需要在這些交易所註冊一個帳戶,並完成身份驗證,然後才能購買Optimism幣。購買Optimism幣的步驟如下:選擇一個安全可靠的交易所。註冊一個帳戶,並完成身份驗證。為您的帳戶充值資金。在交易平台的交易介面上,找到Optimism幣的交易對,例如OP/USDT。輸入您要購買的Optimism幣數量,然後點

See all articles