如何使用PHP的交互式运行环境

如何使用PHP的交互式运行环境,第1张

从PHP 510开始,CLI SAPI提供了一个交互式命令行工具(Interactive shell),这个交互式PHP shell是通过使用 –with-readline 编译选项集成到php内核里的。使用这个交互式shell,你可以直接在命令行窗口里输入PHP并直接获得输出结果。

开启PHP的交互式shell模式,需要使用 -a 参数。下面是使用交互式shell的一些例子。

$ php -a

Interactive shell

php > echo 5+8;

13

php > function addTwo($n)

php > {

php { return $n + 2;

php { }

php > var_dump(addtwo(2));

int(4)

php >

在交互式shell里,你可以使用 tab 键对函数名,内置变量,类名,静态方法等进行自动补全操作。

需要注意的是,Interactive Shell 和 Interactive Mode 并不是一个东西,尽管名称和功能都很相似。

如果你输入 php -a ,得到的回应是 ‘Interactive Shell’ 并跟随着 ‘php>’ 提示符,那你使用的就是交互式shell。如果你得到的回应是 ‘Interactive mode enabled’ ,说明你的PHP并不支持交互式shell,上面介绍的用法也不实用于你。

但也不用担心,Interactive mode(交互模式)也可以在命令行窗口里执行PHP代码,只是代码的执行方式有些区别。在PHP交互模式(Interactive mode)里,你在命令行窗口里输入PHP代码,代码不会立即执行,当你输入了所有PHP代码后,输入 Ctrl-Z (windows里),或输入 Ctrl-D (linux里),你输入的所有代码将会一次执行完成并输出结果。

在PHP交互模式(Interactive mode)里,跟交互式shell里不一样,你的代码需要以 <php 开头,跟你的普通PHP文件里的写法一致。下面是在Windows里的使用例子。

C:\>php -a

Interactive mode enabled

<php

echo "Hello, world!";

>

^Z

Hello, world!

在Winidows里,没有交互式shell,只有Interactive mode。

我不知道你具体要做到什么程度,但是如果是那种用C#开发一个客户端,然后用php作为服务端的语言这样的情况的话,倒是很好解决的。

你可以在服务器端用php写一些网页,然后用C#去请求这些网页,然后获取这些网页上输出的结果,再根据这些结果来判断C#端要如何处理。

嗯……我不知道这么说你能懂不能,这个过程很像你通过浏览器去访问网页一样。

通过C#去请求服务器上的php链接,可以通过get的请求方式来传递一些参数,然后php页面返回json值给C#端,然后C#端对传回的json值进行处理,这样就完成交互了。

因为只有调用了accept客户端才能连上,你如果accept下面接一个循环,那么第二个用户不是说能不能进这个循环,而是连不进……此时只有第一个用户break出了循环,然后程序回头再调用accept,第二个用户才能连上。

用多进程来处理如何?因为accept一个客户端以后,应该是马上准备accept下一个客户端才对,而不是处理完现在这个客户端才accept下一个客户端。

socket_accept以后,直接调用

pcntl_fork(),此时进程会分裂为两个,其中一个的pnctl_fork返回值是0,另一个不是0。不是0的那个直接继续调用socket_accept即可,是0的那个处理客户端请求。

pnctl_fork不知道在windows下能不能用。

不过返回不是0的那个进程并不是这样就完事了,还要调用pcntl_wait防止子进程卡在那边没有完全结束。你可以在主进程里时不时就调用这个,配上WNOHANG作为option参数防止没有子进程需要wait的时候卡在那边。

这都是linux下常用的处理手段。说实话本来我想让你用多线程的,不过看了一圈不知道php里怎么用线程,倒是找到了用进程的方式,所以就

PHP的所有应用程序都是通过WEB服务器(如IIS或Apache)和PHP引擎程序解释执行完成的,工作过程:(1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送化支持PHP的WEB服务器。(2)WEB服务器接受这个请求,并根据其后缀进行判断如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。(3)PHP引擎程序(一般为PHPexe)将会对WEB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。(4)PHP引擎将生成HTML页面返回给WEB服务器。WEB服务器再将HTML页面返回给客户端浏览器。以后在PHP中需要用到相关的内容,可以非常容易的使用js技术加上PHP了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何使用PHP的交互式运行环境

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情