使用linux的定时器crontab执行php,php文件中可以引入其他文件吗??

mamba_mentality 2018-01-09 11:26:06
使用linux的定时器crontab执行php,php文件中可以引入其他文件吗? 可以使用PDO类吗? 可以使用命名空间吗? 可以use吗?可以require吗?
...全文
580 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
test0531 2018-01-13
  • 打赏
  • 举报
回复
如果定时任务频繁调用,不建议使用php,会长期占有php-fpm进程,如果不考虑性能,可以忽略。关注性能可以考虑其他语言,比如python。。。
xuzuning 2018-01-12
  • 打赏
  • 举报
回复
php 所在目录 如果指定的 php程序文件的目录,那就从指定的目录开始算 不过无所谓,引用文件都是从文件系统的根开始算得
万能同桌 2018-01-12
  • 打赏
  • 举报
回复
引用 8 楼 xuzuning 的回复:
那就要看看你具体的写法
我想问一下, 定时器的环境是在哪运行的 和 / 目录下的环境一样吗
xuzuning 2018-01-12
  • 打赏
  • 举报
回复
那就要看看你具体的写法
mamba_mentality 2018-01-12
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
都可以!只要路径正确
可是我直接使用php 命令 加文件路径执行可以执行, 但是使用定时器就没有执行 是怎么回事 使用的是绝对路径 php命名有配置环境变量可用, php命名的加上前面的绝对路径也不可以
mamba_mentality 2018-01-12
  • 打赏
  • 举报
回复
引用 4 楼 newpeng 的回复:
系统调用php程序执行你的PHP脚本,和你通过网页http访问都差不太多,只要不涉及到post参数传入。
可是我直接使用php 命令 加文件路径执行可以执行, 但是使用定时器就没有执行 是怎么回事 使用的是绝对路径 php命名有配置环境变量可用, php命名的加上前面的绝对路径也不可以
mamba_mentality 2018-01-12
  • 打赏
  • 举报
回复
引用 1 楼 u014567183 的回复:
你说的这些都可以。
可是我直接使用php 命令 加文件路径执行可以执行, 但是使用定时器就没有执行 是怎么回事
newpeng 2018-01-11
  • 打赏
  • 举报
回复
系统调用php程序执行你的PHP脚本,和你通过网页http访问都差不太多,只要不涉及到post参数传入。
xuzuning 2018-01-09
  • 打赏
  • 举报
回复
都可以!只要路径正确
seared2008 2018-01-09
  • 打赏
  • 举报
回复
可以,引用文件要用绝对路径
u014567183 2018-01-09
  • 打赏
  • 举报
回复
你说的这些都可以。
bl-mid-proxy,间件代理端 目前本间件,主要实现mysql连接池 、redis连接池 、crontab任务定时器 三大功能。 本间件实质为一个服务端,通过http请求进行通信,任何编程语言都可以对接。 提供简单的SDK(e、python、php、java),其他语言可自行组装http请求进行通讯。 初衷与目的: mysql数据库的增删改查基本是后端编程的核心代码,占据很大的代码工作量。开发者需要去找寻合适的支持库,在代码引用支持库,建立与管理连接、特定语言框架还有数据库模型语法等等,对于初学者难于上手; 本间件为独立的http服务端,其内部有数据库连接池进行mysql管理,接受http请求执行sql,并返回json数据,方便各语言直接转成适用本语言的对象使用。 开发者只需要把要执行的sql语句作为参数,发送一个post请求到本间件即可执行并获得json数据结果。无需去管其他任何与数据库相关的代码,只需要知道日常使用的增删改查的sql语句即可; redis缓存与mysql同样的道理,开发者只需要知道redis的命令即可,无需去管所在的语言使用什么redis库,怎么引用库,如何操作等等; 定时器,程序总免不了存在定时执行、周期执行的任务。在以往的编程,我们可能是创建一个线程来去定时 执行周期事件,或者死循环等等方式,对于一些语言(尤其解释型语言)来说,不当的方式可能代码逻辑上难处理,系统资源占用还高; 本间件提供类似Linuxcrontab功能,可以通过http去回调周期代码、运行指定程序、执行sql语句等,完成定时执行功能; 优势: 应用服务端代码不需要再引入和编写比如数据库连接管理类代码,降低工作量。易于初学者上手,比如对于通常使用的数据库增删改查,你只需要知道sql语句怎么写即可; 便于对接,任何编程语言皆可,只要实现了http请求到本间件,即可得到结果; 小巧,相较其他解释型编程语言实现本系列功能,本独立间件效率更高、系统资源占用小,受环境依赖基本无(windows系统运行即可,无需任何依赖); 劣势: 因为本间件通过http通信,而这必然有一个网络传输的过程。如果应用服务端与本间件在本地同一IP下(同一电脑上)那么这个带来的时间损害极低(建议在一起)。如果是分布式分布,不在同一局域网,便存在网络的影响,速度受网络条件影响; 可能存在技术盲区。比如数据库执行查询的sql语句存在字节集字段的,因为sql查询返回的是json数据,无法包含字节集数据,所以字节集字段无法使用(可考虑修改源码,对字节集进行base64成文本添加到返回json或者以字节集文件形式等); 大型应用请自行测试本间件是否够用,本间件定为小型应用快速成型开发; 权限验证: 整个间件程序仅有一个IP白名单。所以,终端用户直接与本间件进行http通讯,将会使比如mysql等面临风险。(当前成品版要求必须有白名单,若自行修改源代码取消白名单限制,请注意风险!) 强烈建议,白名单仅限本机内网或指定IP进行连接。 使用安装: 下载本间件; 启动mysql、redis(不知如何安装mysql、redis等,可通过phpstudy ,一键安装启动。); 运行间件exe,配置mysql、redis连接信息; 重启间件,间件的mysql与redis连接成功即可(不需要的功能,配置文件关闭即可); 编写其他程序时,使用SDK(或自己封装post请求)对接本间件即可; 注意:间件包含3个示例的定时任务,可以删除。 推荐: 不知如何安装mysql、redis等,可通过phpstudy ,一键安装启动。 phpstudy:https://www.xp.cn/ API示例: sql语句执行示例,其他请参考help文档。 url:/api/mysql      (默认,修改后以修改为准) method: POST data: {         "sql":"select * from userinfo limit 0,2" } success: {         "errcode":200,         "errmsg":"success",         "data":[                          //  查询语句,将包含data数据结果         {             "id":1,             "name":"小明",             "age":10         },         {             "id":2,             "name":"小李",             "age":14  

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧