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

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

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

  如果你要使用一些邮件的类。那么很多要求支持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文件。在其中输入如下代码:
<!--?php

  echo phpinfo();

  ?>

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

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

  在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美国主机。

更多服务器知识文章推荐:
分享到 :
相关推荐

RAKsmart美国高防服务器综合性能评测

RAKsmart是美国西海岸的服务器运营商。其总部位于硅谷技术中心。其技术实力非常雄...

GreenGeeks域名服务器在欧洲怎么样?

大家都知道你网站所在的主机速度、稳定性直接决定着你的网页加载速度、搜索引擎最优化效果...

购买云服务器之后怎么使用(购买云服务器之后怎么使用手机)

随着云计算的发展。不少企业会选择上云。云服务器一种简单高效。安全可靠。处理能力可弹性...

Ubuntu 20.04安装Nginx教程

Nginx是一种开源的高性能HTTP和反向代理服务器。负责处理Internet上一些...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注