zoukankan      html  css  js  c++  java
  • 服务器如何开启php的fsockopen函数? 使用发邮箱类

    参考:http://www.daixiaorui.com/read/16.html#viewpl

    服务器如何开启php的fsockopen函数?如果你要使用一些邮件的类,那么很多要求支持php的fsockopen函数。但是服务器默认不是开启的。下面是从网上找的2中开启的方法,针对不同的用户。

    echo phpinfo(); 查disable_functions,如果后面出现了fsock,fsockopen,则需要把这两个函数去掉,然后继续下面:

      方法一:

      第一步:

      php.ini文件中查找

      allow_url_fopen = On

      使其值为On

      第二步:

      php.ini文件中查找

      extension=php_openssl.dll

      如果前面有分号;,去掉分号;

      第三步:

      重启web服务器,apache或IIS

      还有一种情况,也就是方法二:

      1. vi php.ini

      找到 allow_url_fopen 这个参数设置成 On,即

      allow_url_fopen = On

      2. 让你的php支持 opensll扩展。

      默认,是没有openssl扩展的,只能重新编译安装。

      yum install openssl openssl-devel

      cd /usr/local/src/php-5.2.14/ext/openssl

      /usr/local/php/bin/phpize

      ./configure –with-openssl –with-php-config=/usr/local/bin/php-config

      make && make install

      看提示,把编译成的openssl.so 拷贝到你在php.ini 中指定的 extension_dir 下

     

      3. vi php.ini

      加入

      extension=openssl.so

      4. 重启web server

    摘要: fsockopen()函数的作用是可以用来打开一个socket连接,另一个函数pfsockopen()也有相似的功能,只不过后者是一个“持续”(persistent)的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

    二、
    fsockopen()函数以Socket模拟HTTP协议(POST) 
    可以进行类似真实的http操作,可用于采集,群发论坛发帖等等。。。
     
     
    fsockopen()函数的作用是可以用来打开一个socket连接,另一个函数pfsockopen()也有相似的功能,只不过后者是一个“持续”(persistent)的fsockopen()函数,它在脚本运行完之后并不立即断开。

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

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

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

    <?php

    echo phpinfo();

    ?>

    保存之后再在浏览器中访问该页面,可看到页面中呈现的是当前PHP的配置信息,按Ctrl+F搜索allow_url_fopendisable_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

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

  • 相关阅读:
    SqlServer事务日志满的解决方案
    关于.net反射和metadata加载致Jeffray Zhao等几位和firelong
    Context Root选/的原则
    [继续讨论]关于Windows PE和.net assembly的加载
    有趣的重写GetType()方法
    对Wintercn关于函数式编程的文章评论
    The experience to config Cisco 2811 for VOIP
    关于c#静态方法和实例方法的辨析和应用
    防止刷新时,密码输入框中的信息丢失
    计算百分比 JS
  • 原文地址:https://www.cnblogs.com/xuzhengzong/p/8203728.html
Copyright © 2011-2022 走看看