服务器php 启动命令_服务端的cli方式运行
既然是结合tp5,咱当然要借鉴tp5的优势
# tp5自定义命令行
这个需要自己看tp5的官方文档,直接搜索就能找到,自己添加command.php文件,我的如下
~~~
/**
* Time: 13:55
*/
return [
'iss\crontab\command\IssServer',
'iss\crontab\command\IssClient',
];
~~~
但是要特别注意,文件的位置,放在目录application/command.php处,或者在入口文件中指定了配置文件目录,则将command.php放在配置目录下的根目录(必须的),因为查看源码如下:
![](https://box.kancloud.cn/e57894dd0b2f39521630a30c49e08fa5_1178x529.png)
然后再添加个实例类来调用extend扩展中的服务端类,这样写只是为了规范些
~~~
namespace iss\crontab\command;
use think\console\Command;
use think\console\Input;
use think\console\Output;
class IssServer extends Command {
protected function configure(){
$this->setName('IssServer')->setDescription('定时任务服务端');
}
/**
* 启动服务端服务
* @return \lib\crontab\IssServer
*/
protected function execute(Input $input,Output $output){
$issServer= new \lib\crontab\IssServer();
if($issServer){
$output->writeln('服务端启动成功!');
}else{
$output->writeln('Sorry,服务端启动失败!');
}
}
}
?>
~~~
然后linux中cd到项目根目录,因为我们要用到项目中cli跟入口文件think,所以必须先cd到项目根目录
运行命令
`php think IssServer`
就可以将服务端实例化了,就不必在服务端类里自己new对象了
有些同学可能在安装的时候没有将php变量加入到环境变量中,系统不能识别php命令
可以运行如下命令(/usr/local/php是服务器上php的安装目录)同样可以启动
`/usr/local/php/bin/php -c /usr/local/php/etc/php.ini think IssServer`
这样就可以在扩展中轻松使用tp5的数据库连接等特性
# 设置程序进入后台作为守护进程一直运行
![](https://box.kancloud.cn/2cba32c28d2c88b60f9306f71d2f162f_1288x603.png)
首先是配置server的daemonize属性并加载到服务器启动中,开启守护进程,接着在linux窗口运行启动命令时在命令后加“&”即可,例如
`php think IssServer &`
~~~
class IssServer{
private $serv;
private $debug = true;
public function __construct()
{
$config = config('crontab.server');
//extract($config);
$this->serv = new \swoole_server($config['host'], $config['port']);
$this->serv->set(array(
'daemonize' => $config['daemonize'], //设置程序进入后台作为守护进程运行
'dispatch_mode' => $config['dispatch_mode'], //指定数据包分发策略。1 => 轮循模式,收到会轮循分配给每一个worker进程 2 => 固定模式,根据连接的文件描述符分配worker。这样可以保证同一个连接发来的数据只会被同一个worker处理 3 => 抢占模式,主进程会根据Worker的忙闲状态选择投递,只会投递给处于闲置状态的Worker
'task_worker_num' => $config['task_worker_num'], //服务器开启的task进程数。
'task_ipc_mode' => $config['task_ipc_mode'], //设置task进程与worker进程之间通信的方式。
'log_file' => $config['log_file']
));
$this->serv->on('Start', array($this, 'onStart'));
$this->serv->on('WorkerStart', array($this, 'onWorkerStart'));
$this->serv->on('Connect', array($this, 'onConnect'));
$this->serv->on('Receive', array($this, 'onReceive'));
~~~
服务器php 启动命令_服务端的cli方式运行相关推荐
- 服务器php 启动命令_禁止php运行服务器命令行函数的安全配置
服务器安全配置很重要, 特别是对外出售空间的服务器一定要禁用危及服务器安全的函数, 否则后果不堪设想. 禁用方法如下: 打开/etc/php.ini文件, 搜索定位到这行 disable_functi ...
- 在以TCP为连接方式的服务器中,为什么在服务端设计当中需要考虑心跳?
https://www.zhihu.com/question/35013918 在以TCP为连接方式的服务器中,为什么在服务端设计当中需要考虑心跳? 这个心跳包除了告知服务端我在线,还有其他作用吗?比 ...
- oracle11g服务器端下载,安装_oracle11G_客户端_服务端_链接_oracle
在开始之前呢,有一些注细节需要注意,oracle11G_客户端_和_服务端, 分为两种 一种是 开发者使用 一种是 BDA 自己使用(同时也需要根据自己 PC 的系统来做_win7_与 ...
- 修改服务器端数据库,问道1.6 开区 服务器环境配置 数据库修改 服务端启动教程...
重启数据库 service mysqld restart 重启服务器 shutdown -r now 查看防火墙状态:chkconfig --list iptables 永久开启防火墙: chkcon ...
- 83998 连接服务器出错_服务端 TCP 连接的 TIME_WAIT 问题分析与解决
民工哥技术之路 写在开头,大概 4 年前,听到运维同学提到 TIME_WAIT 状态的 TCP 连接过多的问题,但是当时没有去细琢磨:最近又听人说起,是一个新手进行压测过程中,遇到的问题,因此,花点时 ...
- haproxy服务启动命令_安装haproxy和haproxy命令
1.安装haproxy CentOS自带了haproxy,但可能版本比较老.可以在IUS源上找到最新稳定版的haproxy. cat </etc/yum.repos.d/ius.repo [iu ...
- 传奇怎么修改服务器启动天数,传奇服务端加入有天数会员系统方法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 传奇服务端加入有天数会员系统方法 会员系统主要用来对一些加盟玩家的特殊控制.可以用IP地址,登录帐号,角色名,之类的为标志控制. 相关脚本命令 设置会员类 ...
- 我的世界服务器java启动脚本_教程/服务器启动脚本
警告 因为这是Wiki的一个条目,可以在任何时间内被任何人编辑,因此建议你不要完全使用这个脚本,而是将其当作编写脚本的指导手册看待. 这是一个可供参考的Minecraft启动脚本示例,并使用GNU/L ...
- 尝试编辑虚拟磁盘时服务器遇到错误,虚拟磁盘Linux服务端测试及故障处理有哪些呢?...
1.查看系统负载情况 在服务端命令窗口下执行w命令可得到三组数据(例如 0.40 0.30 1.20),分别为系统前一分钟.前5分钟.前15分钟负载情况,一般负载情况在2以下基本正常,如果长时间高于3 ...
最新文章
- 【MySQL】数据库2- MySQL表的增删改查(基础)
- 联想输入快捷键_UG软件F8快捷键和笔记本电脑F8快捷键冲突的解决方法
- Qlik与百度开放云建立战略联盟,让中国企业通过强大的可视化分析看到数据背后的整个故事...
- 使用rsync实现数据实时同步备份--实战
- 混合模型的推荐算法(ACM暑校-案例学习)
- Intellij idea 自动生成serialVersionUID
- 移动支付到底有多美?
- 2017 ACM-ICPC乌鲁木齐网络赛 B. Out-out-control cars(几何)
- vue项目之不一样的axios封装(+防抖函数)
- SpringBoot整合定时任务(在线Cron表达式生成器)
- ajax上传form表单图片,php form表单ajax上传图片方法
- SQLITE测试工具
- 游戏对战平台研究终结
- [转]c#对象的浅拷贝和深拷贝
- 集合:List接口:ArrayList,LinkedList Set接口:HashSet
- 红外循迹传感器PID循迹算法
- CDN工作原理及其在淘宝图片业务中的应用
- 系统安全与应用【上】
- 绘图---带你熟练操作PS工具栏
- 软件开发需要学习什么