php - Facebook api: "open_basedir restriction in effect" -


I have uploaded my script for Facebook script, which is based on Facebook php API 4.0, PHP 5.4 on web hosting Supports, but I'm getting

WARNING: is_readable (): Open_basedir restriction in effect. The file / (/ dev / urandom) is not allowed within the path: /home/myuserid/public_html/Facebook/FacebookRedirectLoginHelper.php in line 244 (/ home / myuserid: / usr / lib / php: / tmp)

Line 244 and some of the following

  if (is_readable ('/ dev / urandom')) {$ fp = fopen () '/ Dev / urandom ',' rb '); If ($ fp! == incorrect) {$ buf = fread ($ fp, $ bytes); Fclose ($ FP); If ($ buf! = FALSE) {return bin2hex ($ buf); }}}  

If this can be helpful, here is the original login script:

  ; GetSessionFromRedirect (); } Catch (FacebookRequestException $ East) {// Facebook gives an error} Catch (Exceptions $ pre) {// When validation fails or if we have one session see other local issues} // If (isset ($ session) ) {// Graf API Request for User Data $ Request = New FacebookRequest ($ session, 'GET', '/ me'); $ Response = $ request-> carry about (); // Get feedback $ graph = object = $ response-> GetGraphObject (); // [...] uses data to login} other {// show login url echo & lt; A href = "'. $ Helper-> getLoginUrl ().' '& Gt; Login & lt; / a & gt;';}? & Gt;  

Note: With PHP, locally easy, the script works perfectly

Most shared hosting providers actively prohibit users from accessing other users' content and system resources .

In this case they have used the option php.ini from the open_basedir option which allows PHP only To open files in paths, and deny access to each other.

To solve the problem, you can either access them to / dev / urandom If you do not do your code with the following, then change it:

  If (function_exists ('openssl_random_sese_bytes')) {return bin2hex (openssl_random_pseudo_bytes ($ Bytes));}  

openssl_random_pseudo_bytes function is almost exactly the same and it is available on PHP 5.3.0 or higher.


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -