[PHP] swoole在daemonize模式下,chdir失效问题
swoole version: 1.9.6
其实跟swoole的版本无关,因为原代码体系,fpm模式下,在启动的时候,是使用 chdir 函数改变了当前目录的,而其它代码在做类的自动加载的时候,都是写的相对地址,而不是绝对地址。
问题就来了,swoole是多进程的,在daemonize模式下,chdir改变当前目录,在其它进程下是不生效的,所以有时候,不使用daemonize没问题,而使用daemonize会莫名的出现找不到类的情况。
解决方法是,在几个启动的回调里面同时也改变一下目录
$serv->on(
'workStart',
function ($server, $fd) {
chdir(ROOT_PATH); //假设前面已经设定了这个ROOT_PATH的常量
//其它代码
}
); $serv->on(
'tast',
function ($server, $fd) {
chdir(ROOT_PATH); //假设前面已经设定了这个ROOT_PATH的常量
//其它代码
}
);
相关文章:http://hongtoushizi.iteye.com/blog/2224764
Have fun with swoole!
[PHP] swoole在daemonize模式下,chdir失效问题的更多相关文章
- QQ浏览器兼容模式下Cookie失效 导致的NetCore Cookie认证失效
最近在写NetCore项目采用的是NetCore的Cookie认证.结果偶然发现QQ浏览器登录不好用.这里先需要了解一下set-cookie中的SameSite属性 导致原因 首先Fiddler 4 ...
- IIS8集成模式下打开静态资源被aspx处理程序处理,StaticFileModule失效问题分析
问题描述: 打开js,css,jpg之类的静态资源文件触发了asp.net mvc的权限认证,并不是直接返回静态内容 问题分析: StaticFileModule 失效 ,可能是文件权限问题 问题解决 ...
- QQ浏览器、搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie、Session失效问题
原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为La ...
- [AJAX]ajax在兼容模式下失效解决办法
使用jQuery,用ajax实现局部刷新功能,在火狐,360急速浏览器高速模式下,ie8,9都能正常运行,但切换到兼容模式下无效,解决办法有两种关闭浏览器兼容性视图,二是引入json2.js文件 这里 ...
- UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...
- HA模式下历史服务器配置
笔者的集群是 HA 模式的( HDFS 和 ResourceManager HA).在 ” Hadoop-2.5.0-cdh5.3.2 HA 安装" 中详细讲解了关于 HA 模式的搭建,这里就不再赘述 ...
- ASIHTTPRequest 在release(打包)模式下数据获取或post失败问题
ASIHTTPRequest 在relase模式下失效 表现为,调用网络请求后没有任何反应 原因之一: ARC模式下,在ASIHTTPRequest 前面会加上__weak来解决循环应用,这个__we ...
- 检测到在集成的托管管道模式下不适用的 ASP.NET 设置的解决方法
在将应用程序从经典模式迁移到集成模式时,可以保留经典模式下的自定义模块和处理程序注册,也可以将这些注册移除.如果不移除经典模式下使用的 httpModules 和 httpHandlers 注册,则必 ...
- spring-oauth-server实践:授权方式四:client_credentials 模式下有效期内重复申请 access_token ?
spring-oauth-server入门(1-12)授权方式四:client_credentials 模式下有效期内重复申请 access_token ? 一.失效重建邏輯 二.如果沒有失效,不会重 ...
随机推荐
- mybatis中_parameter使用和常用sql
mybatis中_parameter使用和常用sql mybatis中_parameter使用和常用sql 在用自动生成工具生成的mybatis代码中,总是能看到这样的情况,如下: <sel ...
- (原)关于udp的socket发送数据耗时的问题探讨
转载请注明出处:http://www.cnblogs.com/lihaiping/p/6811791.html 本学习笔记,仅用于问题探讨,如有不同,可以讨论. 最近在看流媒体分发服务器的相关代码,其 ...
- Parquet格式解析
parquet是列式存储格式,官方文档 https://parquet.apache.org/documentation/latest/ 一个Parquet文件是由一个header以及一个或多个blo ...
- rpm命令如何打印调试信息?
问题描述: 今天在做rpm相关操作的时候,发现报错,并且还不知道如何入手来解决问题,就左查右查的问题还是没有解决,后来就想,rpm能否打印debug信息,然后也百度了,也没有找到,后来想我为啥不看看r ...
- k8s(5)-拓展服务
在之前我们创建了一个部署,然后通过服务公开它.部署只创建了一个Pod来运行我们的应用程序.当流量增加时,我们需要扩展应用程序以满足用户需求. 通过更改部署中的副本数来完成扩展. 1. 拓展部署 这里将 ...
- login流程
DirServer增加,修改-后台网页操作 维护所有分区的当前信息创建,修改,上报分区信息分区:状态,版本号,注册量等 一.loginserver定时从dir同步所有区服的信息 登陆相关 1.CmdI ...
- dll注入遇到CreateRemoteThread()返回错误代码5
在进行dll注入的时候,发现触发了CreateRemoteThread()的错误并返回错误代码5,刚开始以为权限不够,用了管理员权限和加了SetPrivilege()函数提权和用NtCreateThr ...
- 【登录异常解决】Ubuntu 输入正确的密码后重新返回到登陆界面
症状 Ubuntu 输入正确的密码后,黑屏一闪,重新返回到登陆界面. 原因一:主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件.说明:X ...
- mousedown、mousemove、mouseup和touchstart、touchmove、touchend
拖动时候用到的三个事件:mousedown.mousemove.mouseup在移动端都不起任何作用.毕竟移动端是没有鼠标的,查资料后发现,在移动端与之相对应的分别是:touchstart.touch ...
- IIS多个应用程序共享Session
在应用程序目录下面添加一个Global.asax文件,在文件中添加以下代码: public override void Init() { base.Init(); foreach (string mo ...