-
系统环境:
1、PHP_VERSION: 7.2.8
2、SYSTEM_OS:CentOS 6.5
3、event扩展版本:2.4.2
预期目标:
我们的目标就是安装 event 扩展
安装步骤:
1、安装libevent2开发库:
注意 event 扩展依赖 libevent2库,所以我们必须先行安装libevent...
-
What is it?
A simple message pusher written based on workerman, which can simulate WEB background one-way push business notification to clients asynchronously.
它是什么?
workerman-pusher 是...
-
问题背景:
问题原因:
项目中存在足够多的前端文件比如:html、js、css等
解决方案:
项目目录下新增并提交文件 .gitattributes,内容如下:
*.js linguist-language=PHP
*.css linguist-language=PHP
*.html linguist-language=PHP
-
PHPForker已收录至workerman官方社区以及Github
欢迎 Github Star 星星收藏关注:
1、https://www.workerman.net/related_projects
2、https://github.com/blogdaren/PHPForker
特别说明:
PHPForker仅是一个供学习研究的实验性...
-
问题背景:
class User
{
//.......
static protected $_start_time = time();
//.......
}
问题原因:
只要记住一点即可:PHP类(对象)的属性是不能用非常量来初始化的,代码中使用 time() 函数来初始化属性,所以报错。
解决方案:
知道了原因,你看着解决吧。 ...
-
spl_object_hash()函数作用:
由于PHP中不允许使用对象作为数组的键,所以我们可以使用PHP的SPL标准库中提供的 spl_object_hash() 函数,这个函数可以为所有的对象实例创建一个唯一的标识符,从而允许在数组中存储对象的散列值作为键值。
spl_object_hash()函数演示:
<?php
class User
{
publi...
-
PHP提供了两种类型的socket:socket 和 stream_socket, 二者API互不兼容。
socket_create
1、socket_create 创建的socket更底层,类似于C语言的socket接口,使用起来比较麻烦。
2、操作底层socket必须使用 socket_* 系列函数,无法使用stream类型的函数,比如无法使用fread、fwrite,自...
-
问题背景:
很简单,尽可能积极参与开源项目贡献,分享知识。本文以金牛座为Workerman官方内核贡献代码为例,分享下如何给开源项目贡献代码。
准备两个账号:
第一步:首先需要在github上准备两个账号,账号从哪来?当然是在github上注册得来的啦。
1、blogdaren【金牛座自己的贡献账号】
2、walkor &nbs...
-
经常都有圈里的朋友在讨论两款框架哪个更好更强大,金牛座也简单的分享下个人认识:
提出问题:swoole 与 workerman 它们有啥区别?各自扮演什么角色? 在项目中的作用是啥? 其他......?
(1)首先毋庸置疑,两款框架都是非常优秀和出色的通用 socket 编程服务框架。
(2)swoole是纯C开发的PHP扩展,而workerman是纯PHP开发的,从这角度上看,性能上多少肯定是前...
-
问题重现
官方原帖子:http://wenda.workerman.net/?/question/883, walkor大大在回复中有这么一段话:
pcntl_wait其实就是wait系统调用,是可以被信号打断的,当信号到来后pcntl_wait会立刻返回。
同理sleep也是系统调用,也可以被信号打断停止睡眠立刻返回。
所以在pcntl_wait或者sleep下的pcntl_...
-
问题背景
先奉上一段PHP多进程示例代码,代码短小,但知识点很丰富,建议先不要看金牛座的运行效果图以及代码解读,自己先看源代码,然后分析运行结果,看看是否和预期的运行效果图一致,关键是要弄明白程序的运行流程,如果不一致,说明还需要进一步的研究学习多进程编程。
代码片段
<?php
define("START_COLOR", "\033[32m");
defin...
-
问题背景
至少玩过 Workerman + WSS协议的小伙伴普遍都遇到过这样的报错经历,但是搜来搜去,网上千篇一律的抄,云里雾里也解决不了问题;
为了方便测试,一般采用了自签名证书,调试过程如下:
服务端启用WSS服务 --> Chrome浏览器调试 --> F12 --> Console ...
-
问题背景:
有时候我们会裸参或跳参源码编译安装PHP,这一般没什么问题,至少历史上大部分的扩展安装都很顺利,但是当你事后需要动态安装 mysqli 或者 pdo_mysql 扩展时,尤其是编译安装PHP7发行包中自带的这两个扩展,你会在编译过程中遇到各种莫名其妙的问题,要么即使你编译成功了,但是加载过程中又出现各种异常,也不晓得扩展是否BUG,还是其他什么原因,有遇到的小伙伴...
-
问题背景
PHP7.27 编译pdo_mysql 或者 mysqli 扩展时报错:ext/mysqlnd/mysqlnd.h:没有那个文件或目录
问题截图
在包含自 /path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:32 的文件中:
/path/to/php-7.2.7/ext/pdo_mysql/php_pdo_mys...
-
问题背景:
64位的CenOS系统安装了XAMPP集成包,但是XAMPP包则是32位的,执行 /opt/lampp/bin/php -v,结果报错:
error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
问题原因...
我就遇到了这个问题,终于找到解决办法...