Я загрузил мой скрипт для входа в facebook, основанный на facebook PHP API 4.0, на веб-хостинг, который поддерживает PHP 5.4, но я получаюFacebook апи: «ограничение open_basedir в действие»
Предупреждение : is_readable(): действие open_basedir. Файл (/ dev/urandom) не находится в пределах допустимых путей: (/ home/myuserid:/usr/lib/php:/tmp) в /home/myuserid/public_html/Facebook/FacebookRedirectLoginHelper.php on линия 244
Вот строка 244 файла и некоторые из следующих
if (is_readable('/dev/urandom')) {
$fp = fopen('/dev/urandom', 'rb');
if ($fp !== FALSE) {
$buf = fread($fp, $bytes);
fclose($fp);
if($buf !== FALSE) {
return bin2hex($buf);
}
}
}
Если это может быть полезно, здесь является основным Войти сценарий:
<?php
session_start();
require_once('Facebook/Entities/AccessToken.php');
require_once('Facebook/FacebookSession.php');
require_once('Facebook/FacebookRedirectLoginHelper.php');
require_once('Facebook/HttpClients/FacebookHttpable.php');
require_once('Facebook/HttpClients/FacebookCurl.php');
require_once('Facebook/HttpClients/FacebookCurlHttpClient.php');
require_once('Facebook/FacebookRequest.php');
require_once('Facebook/FacebookResponse.php');
require_once('Facebook/FacebookSDKException.php');
require_once('Facebook/FacebookRequestException.php');
require_once('Facebook/FacebookAuthorizationException.php');
require_once('Facebook/GraphObject.php');
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
// init app with app id (APPID) and secret (SECRET)
FacebookSession::setDefaultApplication('','');
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('http://mysite/fb.php');
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
} catch(Exception $ex) {
// When validation fails or other local issues
}
// see if we have a session
if (isset($session)) {
// graph api request for user data
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
//[...] uses data to login
} else {
// show login url
echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}
?>
Примечание: локально с easyPHP сценарий отлично работает
Спасибо большое, что сработало! –