云服务器免费试用

PHP fsockopen函数介绍和开启方法(php @fopen)

服务器知识 0 753

PHP fsockopen是一个功能比较强大的函数。下面在这篇文章中我们将会对这个函数做一个具体的介绍,希望对站长维护主机有所帮助。

PHP fsockopen函数介绍和开启方法(php @fopen)

如果你要使用一些邮件的类,那么很多要求支持php的fsockopen函数。但是很多主机商为了主机安全考虑禁用了php的fsockopen函数。它可以打开网络的 Socket 链接。

语法: resuce fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);

返回值: 资源;

函数种类: 网络系统;

目前这个函数提供两个 Socket 资料流界面,分别为 Internet 用的 AF_INET 及 Unix 用的 AF_UNIX。

在 Internet 中,参数 hostname 及 port 分别代表网址及端口号。

在 UNIX 中,参数hostname 表示到 socket 的路径,port 配置为 0。timeout可省略表示多久没有连

上就中断。该函数返回文件指针,供文件函数使用,包括 fgets()、fgetss()、fputs()、fclose()

feof()。参数 errno 及 errstr 可省略,做错误处理使用。该函数使用阻塞模式 (blocking mode) 处理,

可用 set_socket_blocking() 转换成无阻塞模式。 fsockopen(主机名称,端口号码,错误号的接受变量,错误提示的接受变量,超时时间)

主机名称:就是你需要发送数据的目的地;

端口号:就是这个目的程序会在哪个端口等着你的数据;

错误号的接受变量:这个是如果建立socket不成功的时候返回的错误编号;

错误提示的变量:是错误的时候返回的错误提示信息;

超时时间:就是post数据之后如果对方没有回应信息,等待的最长时间。

一、Fsockopen函数的开启方法

第一步

找到php.ini文件,用记事本打开,查找 allow_url_fopen = 看看后面是 off 还on, 如果是on,直接看下一步,如果是off 那就修改成on,需要注意完整的是allow_url_fopen = on等号的左右有空格。

allow_url_fopen = on

第二步

继续在php.ini文件中,查找,查找extension=php_openssl.dll 找到以后大家注意,extension=php_openssl.dll这段代码前面会有个 ; 号,只要把这个 ; 号删除,然后保存。

extension=php_openssl.dll

第三步

如果是IIS 就重启IIS

如果是apache 就重启apache

二、函数pfsockopen()也有相似的功能,只不过后者是一个“持续”(persistent)的fsockopen()函数,它在脚本运行完之后并不立即断开。

fsockopen()函数以Socket模拟HTTP协议(POST)

可以进行类似真实的http操作,可用于采集,群发论坛发帖等等。

fsockopen()函数的作用是可以用来打开一个socket连接,另一个函数pfsockopen()也有相似的功能,只不过后者是一个“持续”(persistent)的fsockopen()函数,它在脚本运行完之后并不立即断开。

fsockopen()函数存在着比较大的安全问题,比如曾经就被黑客用来进行PHPDDOS攻击,因此很多主机提供商禁用了这个函数。

那么如何知道自己的主机提供商有没有禁用这个函数呢?

我们可以在任意一个网站目录下新建一个.php文件,在其中输入如下代码:

echo phpinfo();

?

保存之后再在浏览器中访问该页面,可看到页面中呈现的是当前PHP的配置信息,按Ctrl F搜索allow_url_fopen或disable_functions,可以看到如下图所示:

在allow_url_fopen那一栏中,如果值为On,并且disable_functions这个禁用函数列表中没有fsockopen函数时,则表明fsockopen()函数是可以使用的,否则fsockopen()函数可能就被禁用了。

那如何才能启用或禁用这个函数呢?

我们需要找到php.ini这个PHP配置文件,如果需要禁用,则需在其中进行如下修改:

1.将allow_url_fopen=On修改成allow_url_fopen=Off

2.在disable_functions=后添加fsockopen

如果需要启用,则只需进行相反操作。

以上就是PHP fsockopen函数的具体使用方法,供大家参考学习。

PHP程序建站就选PHP美国主机。

来源:idcspy.com/php-fsockopen.html

本站声明:内容来源于网络,内容不代表本站立场,仅供阅读参考,文章版权归原作者“本公司cmy.cn”所有。如有侵权,请联系我们删除。

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们56dr_com,同时欢迎投稿传递力量。

本文从“特网科技(56dr.com)”转载,原作者保留一切权利,若侵权请联系删除。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: PHP fsockopen函数介绍和开启方法(php @fopen)
本文地址: https://solustack.com/54585.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。