PHP的定时任务框架的taskPHP3.0学习记录2(环境要求、配置Redis、crontab执行时间语法、命令操作以及Screen全屏窗口管理器)

news2024/11/25 22:39:58

环境要求

  • php版本>= 5.5
  • 开启socket扩展
  • 开启pdo扩展
  • 开启shmop扩展
echo '<pre>';
echo '--';
$requiredVersion = '5.6.0';
$currentVersion = phpversion();
if (version_compare($currentVersion, $requiredVersion, '>=')) {
    echo "1.PHP版本满足要求,当前版本:" . $currentVersion . "。";
} else {
    echo "<span style='color:red;'>1.PHP版本不满足要求,请升级到至少 " . $requiredVersion . " 版本。</span>";
}

echo '<pre>';
echo '--';
// 检查shmop扩展是否已安装
if (extension_loaded('shmop')) {
    echo "2.shmop满足要求,扩展已加载。";
} else {
    echo "<span style='color:red;'>2.shmop不满足要求,扩展未加载。</span>";
}
echo '<pre>';
echo '--';
// 检查shmop扩展函数是否可以正常使用
if (function_exists('shmop_open')) {
    echo "3.shmop_open满足要求,函数可用。";
} else {
    echo "<span style='color:red;'>3.shmop_open不满足要求,函数不可用</span>。";
}
echo '<pre>';
echo '--';
if (extension_loaded('sockets')) {
    echo "4.Socket满足要求,扩展已加载。\n";
} else {
    echo "<span style='color:red;'>4.Socket不满足要求,扩展未加载。</span>";
}
echo '<pre>';
echo '--';
if (extension_loaded('pdo')) {
    echo "5.PDO满足要求,扩展已加载。\n";
    // PDO 可用,可以创建 PDO 对象进行数据库操作
} else {
    echo "<span style='color:red;'>5.PDO不满足要求,扩展未加载。</span>";
    // PDO 不可用,可能需要安装或启用 PDO 扩展
}
echo '<pre>';
echo '--';
if (php_sapi_name() !== 'cli') {
    die("如果环境要求全部满足,即可通过从命令行执行Task定时任务。");
}

宝塔配置Redis

在宝塔面板中配置Redis的步骤如下:

  1. 登录宝塔面板:首先,打开你的浏览器,输入宝塔面板的地址,并使用你的账号和密码进行登录。
  2. 安装Redis
  • 在宝塔面板的首页,点击左侧菜单栏的“软件商店”选项。
  • 在软件商店中,找到“Redis”页面。
  • 点击“一键安装”按钮,即可自动下载并安装Redis。
  1. 配置Redis
  • 安装完成后,进入Redis的配置页面。
  • 在配置页面中,你可以设置Redis的相关参数,如IP地址、端口等。特别要注意设置密码以保护Redis数据的安全。
  1. 启动Redis服务
  • 在宝塔面板中,找到Redis服务的管理页面。
  • 点击“启动”按钮,启动Redis服务。
  1. 测试Redis连接
  • 你可以使用Redis客户端工具,如redis-cli,来测试与Redis的连接。
  • 输入命令redis-cli -h <你的Redis服务器IP> -p <你的Redis端口> -a <你的Redis密码>,如果连接成功,说明Redis配置正确。

此外,为了保障Redis的安全和稳定运行,需注意:

  • 定期备份Redis数据,以防数据丢失。
  • 限制对Redis的访问权限,只允许必要的IP地址或网络段访问。
  • 定期更新和升级Redis版本,以修复已知的安全漏洞和性能问题。
  • 监控Redis的运行状态,及时发现并解决潜在的问题。
    在这里插入图片描述
    在这里插入图片描述

crontab执行时间语法

   * * * * * * *    //格式 :秒 分 时 天 月 年 周
  10 * * * * * *    //表示每一分钟的第10秒运行
 /10 * * * * * *	//表示每10秒运行
 /1 * 15,16 * * * * //表示 每天的15点,16点的每一秒运行

crontab设置定时任务

命令操作

start.php  start [all|任务名]  启动 可不带参数默认all
start.php  start &   挂载后台运行,liunx操作
start.php  close all 结束框架  必带参数all

宝塔面板建议在终端设置常用命令快捷方式,便于执行定时任务。
在这里插入图片描述
推荐方式:宝塔面板保持终端持续运行的解决方案(Screen全屏窗口管理器)


@漏刻有时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1557442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【笔记】动⼿学深度学习(花书)|| Aston Zhang Mu Li Zachary C. LiptonAlexander J. Smola

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 前言 第一章 深度学习简介 第二章 P 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言本书…

python实战之异常篇

一. try-except语句 二. 多个except代码块 三. 多重异常捕获 四. try-except语句嵌套 五. 使用finally代码块释放资源 六. 自定义异常类 七. 手动引发异常 使用关键字 raise 手动抛异常

Android RecyclerView canScrollVertically方向与返回值,Kotlin

Android RecyclerView canScrollVertically方向与返回值&#xff0c;Kotlin import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx…

Node | Node.js 版本升级

目录 Step1&#xff1a;下载 Step2&#xff1a;安装 Step3&#xff1a;换源 发现其他博客说的 n 模块不太行&#xff0c;所以老老实实地手动安装 Step1&#xff1a;下载 Node 中文官网&#xff1a;https://nodejs.cn/download 点击后&#xff0c;将会下载得到一个 .msi 文件…

Go-React做一个todolist(服务端)【一】项目初始化

后端仓库地址 地址 项目依赖 # gin go get -u github.com/gin-gonic/gin # viper日志 go get -u github.com/spf13/viper # 数据库和gorm go get -u gorm.io/driver/mysql go get -u gorm.io/gorm # uuid go get -u github.com/google/uuid # token go get -u github.com/go…

蓝桥杯2015年第十三届省赛真题-三羊献瑞

一、题目 观察下面的加法算式&#xff1a; 祥 瑞 生 辉 三 羊 献 瑞 ---------------------- 三 羊 生 瑞 气 (如果有对齐问题&#xff0c;可以参看【图1】) 其中&#xff0c;相同的汉字代表相同的数字&#xff0c;不同的汉字代表不同的数字。 请你填写“三羊献瑞”所…

C语言-编译和链接

目录 1.前言2.编译2.1预处理&#xff08;预编译&#xff09;2.1.1 #define 定义常量2.1.2 #define 定义宏2.1.3带有副作用的宏参数2.1.4宏替换规则2.1.5 #和##2.1.5.1 #运算符2.1.5.2 ## 运算符 2.1.6 命名约定2.1.7 #undef2.1.8 条件编译2.1.9 头文件的包含2.1.9.1 本地文件包…

电商系列之取消订单

> 插&#xff1a;AI时代&#xff0c;程序员或多或少要了解些人工智能&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家…

每日面经分享(Spring Boot: part2 DAO层)

1. Spring Boot DAO层的作用 a. 封装数据访问逻辑&#xff1a;DAO层的主要责任是封装与数据访问相关的逻辑。负责处理与数据库的交互&#xff0c;包括数据的增删改查等操作。通过将数据访问逻辑统一封装在DAO层中&#xff0c;可以提高代码的可维护性和可重用性。 b. 解耦业务逻…

java Web 疫苗预约管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 疫苗预约管理系统是一套完善的web设计系统&#xff0c;对理解JSP java 编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发&#xff0c;数据库为Mysql5.0&#xff0c;使…

蓝桥集训之游戏

蓝桥集训之游戏 核心思想&#xff1a;博弈论 区间dp 设玩家1的最优解为A 玩家2的最优解为B 1的目标就是使A-B最大 2的目标就是使B-A最大 当玩家1取L左端点时 右边子区间结果就是玩家2的最优解B-A 即当前结果为w[L] – (B-A) 当玩家1取R右端点时 左边子区间结果就是玩家2的最…

<TensorFlow学习使用P1>——《TensorFlow教程》

一、TensorFlow概述 前言&#xff1a; 本文中一些TensorFlow综合案例的代码逻辑一般正常&#xff0c;在本地均可运行。如有代码复现运行失败&#xff0c;原因如下&#xff1a; &#xff08;1&#xff09;运行环境配置可能有误。 &#xff08;2&#xff09;由于一些数据集存储空…

算法学习——LeetCode力扣图论篇2

算法学习——LeetCode力扣图论篇2 1020. 飞地的数量 1020. 飞地的数量 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相…

实施阶段(2024年3月)

本次探究的项目化学习主题为&#xff1a;校内订餐系统的分析与设计 【主题情境说明】 社会大背景&#xff1a;国家颁发《“健康中国2030”规划纲要》&#xff0c;尤其关注青少年儿童膳食质量&#xff0c;明确提出要加强孩子食育教育&#xff0c;家庭、学校和社会需要共建健康…

Linux系统---如何理解Linux中的文件系统

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、理解文件系统 1.ls与stat 我们使用ls -l的时候看到的除了看到文件名&#xff0c;还看到了文件元数据。 每行包含7列…

【一站式学会Kotlin】第一节 kotlin 介绍

作者介绍&#xff1a; 百度资深Android工程师T6&#xff0c;在百度任职7年半。 目前&#xff1a;成立赵小灰代码工作室&#xff0c;欢迎大家找我开发Android、微信小程序、鸿蒙项目。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默。给大家…

Unity 基于Rigidbody2D模块的角色移动

制作好站立和移动的动画后 控制器设计 站立 移动 角色移动代码如下&#xff1a; using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine;public class p1_c : MonoBehaviour {// 获取动画组件private Animator …

【c++】简单的日期计算器

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好啊&#xff0c;在我们学习了默认成员函数后&#xff0c;我们本节内容来完成知识的实践&#xff0c;来实现一个简易的日期计算器 目录 头文件声明函数函数的实现1.全缺省默认构…

TASKPROMPTER

baseline模型的预训练权重就有1.6G! 多吓人呐&#xff0c;当时我就暂停下载了&#xff0c;不建议复现

[Flutter]打包IPA

1.直接使用Xcode运行iOS工程 不用flutter构建&#xff0c;在Xcode中是可以独立进行构建运行和打包发布的。 1).运行项目 先将flutter的build清理 $ flutter clean $ flutter pub get 然后立即用XCode打开iOS工程运行 运行会报错&#xff1a; error: The sandbox is not …