<?php 
echo 'duandian1';
$path = "<END><COMMAND>S059</COMMAND><REGISTRYCODE>"."101100-SJB-HUAX-168020"."</REGISTRYCODE><PWD>"."YTSYVGTL"."</PWD></END>";
$path=mb_convert_encoding($path, "UTF-8", "GBK");    $address = gethostbyname('www.stongnet.com');
/* Create a TCP/IP socket. */
echo '段点2';
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
echo '希点2';
$result = socket_connect($socket, $address, 8080);
// make header
$in = "GET ".$path." HTTP/1.0\r\n";
$in .= "Content-Type: application/x-www-form-urlencoded\r\n";
$in .= "\r\n\r\n";
// out data
$out = '';

socket_write($socket, $in, strlen($in));
while ($out = socket_read($socket, 2048)) {
$temp_out = '';
$temp_out .= $out;
//结束标志
if (preg_match("/<\/DES>/",$temp_out )) {
break; 
}
}
//关闭socket链接
socket_close($socket);
//处理返回结果
preg_match("/<DES>(.*)<\/DES>/i",$temp_out,$matches);
echo $matches[1];
echo '这里吗???';
?>
以上为源代码
在zend上开发,用run as -> PHP script 可以正常运行,PHP5环境
但将源码放到IIS服务器上,只能运行到“段点2”,服务器也是PHP5,不知道怎么回事,是IIS服务器需要配置什么吗???
急急急

解决方案 »

  1.   

    服务器上有没有安装php socket扩展?
    安装方法见手册:
    http://www.php.net/manual/en/sockets.installation.php
      

  2.   

    我在Apache服务器上试过,不用装
    IIS必须装,是吗
      

  3.   

    你查一下phpinfo看是否支持或者打开php.ini配置文件看一下
      

  4.   

    phpinfo
    可以得到,但那么长的文档,在哪呢
      

  5.   

    echo function_exists("socket_accept") ? 'Y' : 'N';复制运行看看
      

  6.   

    N
    该怎么办呢?
    下载PHP socket 扩展吗?
      

  7.   

    IIS,那就是windows啦?找到php.ini【找不到运行phpinfo,前面就会告诉你的 configuration file修改;extension=php_sockets.dll分号去掉要重启