-
问题背景:
PHP编译安装完成之后会有一个 extension_dir 目录,这个目录的作用就是用来存放第三方扩展的。默认的php.ini配置文件中是是没有这个字段的,没有这个字段并不代表不存在,恰恰相反,当我们需要手动改变设置特定的目录时,就必须修改 php.ini 新增 extension_dir = /path/to/myextensiondir,但问题是: 默认情况...
-
问题背景:
1. 启动某个服务后,为了保证服务的稳定性,需要写一个监控脚本,用于检测服务进程是否正常。
2. 注意: 金牛座拿手PHP,所以我们监控脚本采用PHP编写,一贯的高效简单而优雅,你可以选用任何你喜欢的语言编写。
研究目的:
如题,通过编写一个简单的进程监控脚本并配合crontab来分享一些重要的注意事项。
脚本演示:
<?php
...
-
问题背景:
项目开发中可能会遇到各种各样的PHP扩展,但是这些扩展可能依赖不同的PHP版本,于是就出现了多个PHP版本共存的情况,所以我们有时希望在composer 安装依赖时指定特定的PHP版本。
解决方案:
-
问题背景:
在workerman官方社区有网友提出了这么一个问题,大体意思是在一次HTTP请求中服务端返回的body体中 "多了一些看似奇怪的字符",
详见: https://wenda.workerman.net/question/3465
问题原因:
"多了一些看似奇怪的字符",既然我用引号引起来了,说明这些字符并不奇怪,为什么?因为这是HTTP协...
-
系统环境:
1、PHP_VERSION: 7.2.8
2、SYSTEM_OS:CentOS 6.5
3、event扩展版本:2.4.2
预期目标:
我们的目标就是安装 event 扩展
安装步骤:
1、安装libevent2开发库:
注意 event 扩展依赖 libevent2库,所以我们必须先行安装libeven2...
-
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官方社区
PHPForker项目当前已经获得批准正式入驻workerman官方社区,无私开源分享永远在路上,欢迎 Github Star 星星收藏关注:
1、https://www.workerman.net/related_projects
2、https://github.com/blogdaren/PHPFork...
-
问题背景:
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 【Workerm...
-
经常都有圈里的朋友在讨论两款框架哪个更好更强大,金牛座也简单的分享下个人认识:
提出问题: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...
学到了