Linux-linux计划任务php脚本不执行,求解

发布于 2016-12-19 19:43:36 字数 237 浏览 1437 评论 2

php代码如下:

if(PHP_SAPI=='cli'){
$str = "cli t";
}else{
$str = "curlt";
}
$dir = dirname(__FILE__);
$str = $str . date('Y-m-d H:i:s') . "rn";
file_put_contents($dir.'/a.txt',$str,FILE_APPEND);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

归属感 2017-08-19 13:40:13

你在命令行里运行的是:
php /usr/local/nginx/html/didi/test.php
crontab里只写
/usr/local/nginx/html/didi/test.php 是不行.

还有crontab里有可能不会给你设PATH, 所以直接 php是不行的.试试 绝对路径.

http://www.alleft.com/sysadmin/common-cron-mistakes/

PATH Works just like the shell PATH,
but it does not inherit from your
environment. Typically set to a very
short list of path elements, often
just “/usr/bin:/bin”

想挽留 2017-02-16 14:58:24

两个解决方案:

1、在 crontab 中执行时指明使用 php 程序来执行脚本,php 程序尽量写全路径,如:

* * * * * /usr/bin/php /usr/local/nginx/html/didi/test.php

2、如果想直接执行 php 脚本,需要进行下述两个步骤:

1)在 php 脚本的头部增加以下代码,告知 shell 需要使用该程序来运行脚本

#!/usr/bin/php

2)将脚本设置为可执行权限

chmod +x /usr/local/nginx/html/didi/test.php
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文