mysql - Cron Jobs 執行php程序,但卻無法執行?直接訪問卻可以?

 Daro_olingke_572 发布于 2022-11-16 16:05

請問一下 我用了一個php程序 然後是利用Cron Jobs去固定時間執行
裡面其中有個程序是INSERT INTO數據到mysql確認是否有執行上述php程序
所以只要是有執行,就會INSERT進去 (所以有沒有成功我會知道)

但是很怪異的是
為什麼用Cron Jobs執行這個php程序時
上述的php程序沒有做到
但是卻有 INSERT數據進mysql?
他完全跳過了某段程序?
我那個程序是備份mysql,然後再某目錄產生.sql檔案,類似這樣:

$filename="".date("Y-m-d-H:i",time())."_auto-backup.sql";
$fp = fopen('sql/auto/'.$filename.'','w');
fputs($fp,$mysql);
fclose($fp);

更怪異的是
我直接key url去直接訪問該php卻是成功的!的確有產生sql檔案.....
但是為什麼用Cron Jobs替我執行卻不行?完全跳過這個程序........


再請問一下....要如何調整Cron Jobs的時間?我現在設定每天執行兩次(每12小時執行一次),但我的理想是中午12點與凌晨12點,他現在執行時間是下午三點跟凌晨三點....

3 个回答
  • 直接执行可以,是因为有很多环境变量的配置可以用,当你使用cron的时候,这些环境变量的配置都被屏蔽了,所以要从根目录开始写。当然,如果你的程序明确指明了当前执行的目录时,后面的代码也可以使用一些相对路径。不过总的来说,还是全部绝对路径比较靠谱

    2022-11-16 17:04 回答
  • cron里的路径用绝对路径试试,即从/开始

    2022-11-16 17:04 回答
  • py脚本在crontab中无法运行

    你可以我的这边博客。解决方法应该是:

    全部使用绝对路径。
    2022-11-16 17:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有