PHP脚本可以在本地主机上工作,但不能在IIS服务器上工作

PHP脚本可以在本地主机上工作,但不能在IIS服务器上工作,php,iis,twitter,Php,Iis,Twitter,我有一个PHP脚本,可以显示嵌入在本地机器上构建的站点中的推文。当我将站点上载到IIS 8.0服务器时,PHP脚本不再工作,我收到以下错误: 警告:为第76行C:\inetpub\wwwroot\i360\u new\footer.php中的foreach()提供的参数无效 剧本是: <?php ini_set('display_errors', 1); require_once('TwitterAPIExchange.php'); /** Set access

我有一个PHP脚本,可以显示嵌入在本地机器上构建的站点中的推文。当我将站点上载到IIS 8.0服务器时,PHP脚本不再工作,我收到以下错误:

警告:为第76行C:\inetpub\wwwroot\i360\u new\footer.php中的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

原来这是一个SSL/CURL问题。在TwitterAPIExchange.php文件中,我必须将以下两行添加到CURL选项数组中:

CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false

该服务器是否启用了JSON支持?@Hanky웃潘基:你是说有人会禁用json解码?这可能吗?在您的
foreach
行之前,放置一个
var\u dump($string)
以查看您得到的结果,因为它似乎不是您所期望的结果。@Hanky웃潘基,我不确定?我认为是的,但如果默认情况下没有启用,则表示没有启用JSON支持。有什么特别的方法吗?@dirt我添加了建议的行,它只是让我的页脚消失了。