0

ローカル マシンに構築したサイトに埋め込まれたツイートを表示する PHP スクリプトがあります。サイトを IIS 8.0 サーバーにアップロードすると、PHP スクリプトが機能しなくなり、次のエラーが表示されます。

警告: C:\inetpub\wwwroot\i360_new\footer.php 行 76 の foreach() に無効な引数が指定されました

スクリプトは次のとおりです。

<?php
    ini_set('display_errors', 1);
    require_once('TwitterAPIExchange.php');

    /** Set access tokens here - see: https://dev.twitter.com/apps/ **/
    $settings = array(
        'oauth_access_token' => "xxxxx",
        'oauth_access_token_secret' => "xxxxx",
        'consumer_key' => "xxxxx",
        'consumer_secret' => "xxxxx"
    );


    /** Perform a GET request and echo the response **/
    /** Note: Set the GET field BEFORE calling buildOauth(); **/
    $url = "https://api.twitter.com/1.1/statuses/user_timeline.json";
    $getfield = '?screen_name=interactive360&count=1';
    $requestMethod = 'GET';
    $twitter = new TwitterAPIExchange($settings);
    $string = json_decode($twitter->setGetfield($getfield)
    ->buildOauth($url, $requestMethod)
    ->performRequest(),$assoc = TRUE);
    foreach($string as $items)
        {
            echo $items['text']."<br />";
        }
?>

PHP のバージョンの問題かもしれないと思っていましたが、私のローカル マシンは 5.4.10 を実行しており、サーバーは 5.4.14 を実行しています。

4

1 に答える 1

0

これは SSL/CURL の問題であることがわかりました。TwitterAPIExchange.php ファイルでは、次の 2 行を CURL オプション配列に追加する必要がありました。

CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false
于 2013-09-30T19:28:13.967 に答える