posix_ttyname - 获取当前终端设备名称。
<?php var_dump( posix_ttyname(STDOUT) );
我们启动一个终端,执行上面的代码输出:/dev/tty1
我们再启动一个终端,执行上面的代码输出: /dev/tty2
/dev/tty是指的启动的终端名称,linux中以文件来表示终端。
甚至我们可以让终端之间发送信息,执行以下命令:
echo "YinFangZhen" > /dev/tty1
执行完成后第一个终端就收到YinFangZhen的字符串,效果如下:
然后我们在php多进程编写常驻内存的应用中经常会退出主进程,让子进程转主进程,此时子进程就会继承父进程的终端文件描述符,可以通过以下代码释放
fclose(STDIN),fclose(STDOUT),fclose(STDERR)
(1).创建数据库test ,创建表shop(字段id,total),商品id是1,商品总数10 (2).PHP模拟购买,商品数量大于0才能购买<?php //连接数据库 $con=mysqli_connect("192.168.2.18...
项目需要使用websocket推送最新订单,客户服务器非linux不支持swoole,因此使用原生,直接上代码(1).PHP服务端<?php ini_set('error_reporting', E_ALL ^ E_NOTICE); ini_set...
<?php $data=array('a'=>1,'b'=>2,'c'=>3,'d'=>4); extract($data); var_dump($a,$b,$c,$d); ?>在人人商城中捡到的...
php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
第一次听说端口复用是在mixphp最新版本中发现的,mixphp启动监听9501端口,现在作者说可以多开几个进程来执行mixphp,我心里想了下再启动不是会端口冲突嘛,但是却没有问题,于是下载mixphp的源码解读,原来是启动http服务器使用new Co\Http\Server('0.0....
php event扩展在windows中依赖于php_sockets扩展,因此在php.ini中必须先加载php sockets扩展,如下。extension=sockets extension=event...