Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook API最长执行时间为30秒_Facebook_Facebook Graph Api - Fatal编程技术网

Facebook API最长执行时间为30秒

Facebook API最长执行时间为30秒,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我使用的是FacebookGraphPHPSDK——每当我在循环中调用$facebook->api方法时,最终都会出现这个错误 第631行的C:\wamp\www\as\auth\facebook\api\facebook.php中超过了30秒的最大执行时间 这是示例代码 <?php ini_set('display_errors', 1); error_reporting(E_ALL); require 'api/facebook.php'; $fac

我使用的是FacebookGraphPHPSDK——每当我在循环中调用$facebook->api方法时,最终都会出现这个错误

第631行的C:\wamp\www\as\auth\facebook\api\facebook.php中超过了30秒的最大执行时间

这是示例代码

<?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);

    require 'api/facebook.php';

    $facebook = new Facebook(array(
        'appId'  => "53095555325553943",
        'secret' => "231801b76124542642553453cbezz",
        "cookie" => true,
        'fileUpload' => true
    ));

    $user_id = $facebook->getUser();

    if($user_id == 0 || $user_id == "")
    {
        $login_url = $facebook->getLoginUrl(array(
        'redirect_uri'         => "http://apps.facebook.com/rapid-apps/",
        'scope'      => "email,publish_stream,user_hometown,user_location,user_photos,friends_photos,
                    user_photo_video_tags,friends_photo_video_tags,user_videos,video_upload,friends_videos"));

        echo "<script type='text/javascript'>top.location.href = '$login_url';</script>";
        exit();
    }

    //get profile album
    $albums = $facebook->api("/me/albums");
    $album_id = ""; 
    foreach($albums["data"] as $item){
        if($item["type"] == "profile"){
            $album_id = $item["id"];
            break;
        }
    }

    //set photo atributes
    $full_image_path = realpath("Koala.jpg");
    $args = array('message' => 'Uploaded by 4rapiddev.com');
    $args['image'] = '@' . $full_image_path;

    //upload photo to Facebook
    $data = $facebook->api("/{$album_id}/photos", 'post', $args);
    $pictue = $facebook->api('/'.$data['id']);

    $fb_image_link = $pictue['link']."&makeprofile=1";

    //redirect to uploaded photo url and change profile picture
    echo "<script type='text/javascript'>top.location.href = '$fb_image_link';</script>";
?>

这与api无关,这是您的php设置。
您可以在脚本中使用set\u time\u limit(使用set\u time\u limit(0)无限执行)。

或者在php.ini文件中更改整个环境的时间限制更改max\u execution\u time

设置我认为您应该在facebook.php文件中(以及在base\u facebook.php中)使用
set\u time\u limit(0)
是否可以指示哪个api调用失败?你在制造多个…所以这是另一个问题,不是关于时间执行。也许你应该检查api响应。我已经尝试了我的方法和@Pavel的方法。但在我的情况下(即,应用程序在免费托管空间中运行),它不起作用。有什么想法吗?