windows iis用CMD命令行开启Php workerman.php服务问题解决

2016年10月28日1:10:24 |发布: 乾元轩 |浏览:

最近在玩websocket,从网上下载php html5 websocket程序包,安装在iis环境下(已经安装好php环境),但是,总是出现输入用户名就自动退出聊天室的尴尬现象。百度google各种搜,还是没有解决问题,于是想到是不是php服务没有开启。好,那就来继续研究。

打开cmd命令,输入php ****.php ****为文件名,例如我的是websocket.php

C:\Users\binzer007>php websocket.php
Could not open input file: websocket.php

提示找不到文件,那检测php是否正确安装

C:\Users\binzer007>php -v
PHP 5.2.6 (cli) (built: May  2 2008 18:02:07)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

说明已经正确安装了Php,那就做一个小程序测试一下,打开记事本,输入<?php echo "Hello, world!\n";?>,并另存为text.php文件。

C:\Users\binzer007>php -f text.php
Could not open input file: text.php

这是为什么呢。后来想一想,是不是路径的问题,之前Java安装也遇到过这样的问题,好,直接进入我存放text.php的文件夹

E:\zwf work\imwen\zt\0\ask>php -f he.php
Hello, world!

搞定。

继续运行websocket.php

E:\zwf work\imwen\zt\0\ask>php websocket.php
Fatal error: Call to undefined function socket_create() in E:\zwf work\imwen\zt\0\ask\websocket.php on line 87

还是不行,这看得出来是socket问题了。再造一个小程序socket.php

<?php
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    $address = '127.0.0.1';
    $port = 80;// 举例的端口,请按实际情况配置,不然会失败的
    $conn = socket_connect($socket, $address, $port);
    if($conn){
        echo 'socket连接成功!';
    }
 ?>
E:\zwf work\imwen\zt\0\ask>php socket.php
Warning: socket_connect(): unable to connect [0]: 由于目标计算机积极拒绝,无法连接。 
in E:\zwf work\imwen\zt\0\ask\socket.php on line 5

还是失败,找到php.ini安装目录,一般安装在C盘Windows下,打开php.ini

找到extension_dir = "../ext",根据php文件存放位置修改,例如我的php文件夹存放在D:/php下,更改为extension_dir = "D:\php\ext",然后找到extension=php_sockets.dll一句,将前面的;去掉,因为";"是注释的意思。

保存修改好的php.ini文件,再次运行

E:\zwf work\imwen\zt\0\ask>php socket.php
    socket连接成功!
E:\zwf work\imwen\zt\0\ask>php websocket.php
Server Started : 2016-10-27 01:14:23
Listening on   : 127.0.0.1 port 8000

问题解决,服务器连接上了。这样,本地iis安装环境下,浏览器打开php html5 websocket配置的网页聊天室,就可以正常工作了。

支付宝打赏 微信打赏

« 上一篇下一篇 »

  • 评论:(0 )

已有 0 位网友发表了一针见血的评论,你还等什么?
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。