司机老冯18629408833陪你逛西安
西安人的城墙下,是西安人的生活

phpweb正版授权安装提示错误

phpweb正版授权安装提示无法连接到验证服务器。

具体见

无法连接到验证服务器

无法连接到验证服务器

原因:服务器的fsockopen函数没有开启,所以没办法验证了,服务器默认不是开启的。

解决办法:打开服务器的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函数被禁用

1、如果服务器没有同时禁用pfsockopen,那么直接将fsockopen函数替换为pfsockopen。

具体操作:搜索程序中的字符串 fsockopen( 替换为 pfsockopen(。示例如下
修改前:
$fp = fsockopen($host, 80, $errno, $errstr, 30);

修改后:
$fp pfsockopen($host, 80, $errno, $errstr, 30);
2、如果服务器同时禁用了pfsockopen,那么用其他函数代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的参数不同。
具体操作:搜索程序中的字符串 fsockopen( 替换为 stream_socket_client(,然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。示例如下
修改前:
$fp fsockopen($host, 80, $errno, $errstr, 30);

修改后
$fp stream_socket_client($host."80", $errno, $errstr, 30);
3、如果PHP版本低于5.0,fsockopen被禁用,又没有stream_socket_client()怎么办呢?自己写一个函数实现fsockopen的功能,参考代码:
function b_fsockopen($host, $port, &$errno, &$errstr, $timeout) {
$ip gethostbyname($host);
$s socket_create(AF_INET, SOCK_STREAM, 0);
if (socket_set_nonblock($s)) {
 $r @socket_connect($s, $ip, $port);
 if ($r || socket_last_error() == EINPROGRESS) {
  $errno EINPROGRESS;
  return $s;
 }
}
$errno socket_last_error($s);
$errstr socket_strerror($errno);
socket_close($s);
return false;
}

具体操作:1.首先找到使用fsockopen函数的代码段,将上面代码加至其上端,搜索该代码段中的字符串fsockopen( 替换为 b_fsockopen(。
2.因为fsockopen函数返回文件指针所以可以被文件函数操作,但是这个b_fsockopen函数没能返回文件指针,需要继续修改代码段:用socket_read(替换掉 fread(,用socket_write(替换掉fwrite(,用socket_close(替换掉fclose(。

 

————————————————————————————————————————————

西城思易- phpweb正版授权,插件定制  二次开发  功能修改 问题处理;

QQ:2632163814

淘宝店铺:ueye.taobao.com

原创文章如转载,请注明本文链接:西秦记 » phpweb正版授权安装提示错误

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

专注于中小企业信息化解决方案

联系我们