Gin*_*irl 16 php curl facebook-javascript-sdk
我有一个PHP脚本,可以在用户的Facebook页面上发布内容.这适用于Facebook应用程序.
当我单击授权时,它加载10秒,它不会发布,它显示一个空白页面,并出现以下错误:
exception Failed to connect to 2a03:2880:f01f:2:face:b00c:0:2: Network is unreachable Fatal error: Call to a member function getLongLivedSession() on a non-object in /var/zpanel/hostdata/zadmin/public_html/mysite/thirdparty/networks/facebook/Facebook.php on line 92
Run Code Online (Sandbox Code Playgroud)
一直到一周前,一切都运作良好,但今天我仍然得到了这个错误.这个问题的原因是什么?
许多服务器启用了 IPv6,但它没有路由,并且实际上不起作用。当您尝试访问支持 IPv6 的站点时,这会成为一个主要问题。默认情况下,curl 将尝试通过 IPv6 连接并超时。通过 IPv4,只要添加以下内容,它就可以正常工作:
\n\ncurl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );\nRun Code Online (Sandbox Code Playgroud)\n\n如果您在 、 等方面遇到此问题file_get_contents(),get_headers()您可以在 中添加以下行/etc/sysctl.conf:
#disable ipv6\nnet.ipv6.conf.all.disable_ipv6 = 1\nnet.ipv6.conf.default.disable_ipv6 = 1\nnet.ipv6.conf.lo.disable_ipv6 = 1 \nRun Code Online (Sandbox Code Playgroud)\n\n或者
\n\necho 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6\nRun Code Online (Sandbox Code Playgroud)\n\n在freebsd 9中禁用 ipv6
\n\n/etc/rc.conf\n\n\nipv6_network_interfaces="none" # Default is auto\n\nipv6_activate_all_interfaces="NO" # this is the default\n\nip6addrctl_enable="NO" # New way to disable IPv6 support\n\nip6addrctl_policy="ipv4_prefer" # Use IPv4 instead of IPv6\n\nipv6_activate_all_interfaces="NO" # Do not automatically add IPv6 addresses\nRun Code Online (Sandbox Code Playgroud)\n