Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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
Php 因此,使用curl--interface或CURLOPT_interface_Php_Linux_Curl_Networking - Fatal编程技术网

Php 因此,使用curl--interface或CURLOPT_interface

Php 因此,使用curl--interface或CURLOPT_interface,php,linux,curl,networking,Php,Linux,Curl,Networking,以非root用户身份运行此命令: curl——接口tun0-v SO_BINDTODEVICE tun0失败,错误号为1:不允许操作; 我会做常规绑定 在php中设置curl\u setopt($ch,CURLOPT\u接口“tun0”)也不起作用。但是, ping-I tun0 google.com 效果很好,所以这只是卷曲的问题。它甚至可以对root用户使用curl,但它确实应该对非root用户有效 我有一个openpvn接口tun0,但同样的事情发生在lo接口上 这种情况发生在多个系统上,

以非root用户身份运行此命令:

curl——接口tun0-v

SO_BINDTODEVICE tun0失败,错误号为1:不允许操作; 我会做常规绑定

在php中设置
curl\u setopt($ch,CURLOPT\u接口“tun0”)
也不起作用。但是,

ping-I tun0 google.com

效果很好,所以这只是卷曲的问题。它甚至可以对root用户使用curl,但它确实应该对非root用户有效

我有一个openpvn接口
tun0
,但同样的事情发生在
lo
接口上


这种情况发生在多个系统上,那么--interface选项是在curl中被破坏了,还是应该以其他方式使用它?我是否应该为curl启用一些特殊功能以使用该接口?

我认为您没有正确解释详细的消息

curl的
--interface
选项要求它将套接字的本地端绑定到特定的IP/网络接口

绑定套接字是通过正常的
bind()
调用完成的

除了bind()调用之外,linux还提供了
SO_BINDTODEVICE
setsockopt选项,这是一种更好、更完整的接口绑定。但是,这个调用需要根用户访问才能工作,而大多数使用libcurl的应用程序都不具备根用户访问权限,然后在详细输出中出现上述文本时就会失败

因此,套接字的本地绑定即使在存在该消息的情况下也能工作。它只是没有工作到SO_BINDTODEVICE级别