Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用cronjob运行php脚本_Php_Linux_Path_Cron - Fatal编程技术网

使用cronjob运行php脚本

使用cronjob运行php脚本,php,linux,path,cron,Php,Linux,Path,Cron,这就是我的工作 PATH=/package/host/localhost/php-5.4.7-1/bin:/bin:/usr/bin PHPRC=/home/stuff/etc * * * * * php /home/stuff/private/xFEklnTekl/cmd.php 这是cmd.php文件 <?php $c = file("c.txt"); $f = fopen("c.txt", "w+"); $g = $c[0]+1; fwrite($f, $g); fclose($f

这就是我的工作

PATH=/package/host/localhost/php-5.4.7-1/bin:/bin:/usr/bin
PHPRC=/home/stuff/etc
* * * * * php /home/stuff/private/xFEklnTekl/cmd.php
这是cmd.php文件

<?php
$c = file("c.txt");
$f = fopen("c.txt", "w+");
$g = $c[0]+1;
fwrite($f, $g);
fclose($f);
?>


遗憾的是,它没有像应该的那样更新c.txt文件。我认为php脚本中的给定路径有问题。我已经试过了/c.txt,但也没用。那么,有什么问题吗?

您的crontab不应该包含cronjobs之外的任何内容。尝试使用以下方法:

* * * * * /bin/php /home/stuff/private/xFEklnTekl/cmd.php
并确保您有+x权限执行,以及crontab用户有权访问该目录

此外,请在中放置完整路径

$c = file("c.txt");
$f = fopen("c.txt", "w+");

编辑 如评论中所示,您必须使用
哪个php
中的任何内容,而不是
/bin/php
。就你而言

* * * * * /package/host/localhost/php-5.4.4/bin/php  /home/stuff/private/xFEklnTekl/cmd.php

从命令行调用cmd.php-有输出吗?行吗?可能是文本的权限file@Dagon从命令行运行它非常有效。我不确定cronjob从何处运行php文件,这就是为什么我不知道c.txt文件指向何处。我刚收到一封邮件,上面说
/bin/sh:bin/php:No-this-file或directory
,我检查了所有其他文件,但它仍然不工作。谢谢你!您在crontab中输入的命令应该可以自己工作。因此,您首先要确保它工作正常,然后将其放入crontab中。要了解php的路径,请键入
哪个php
。它将类似于
/bin/php
/usr/bin/php
,等等。这是执行脚本必须使用的路径。谢谢<代码>***/package/host/localhost/php-5.4.4/bin/php/home/albin/private/xFEklnTekl/cmd.php工作得非常好!伟大的我编辑我的答案以包含我们的评论:)如果现在一切正常,请将问题标记为已回答!完成!只是关于cronjobs和php的另一个问题。这个cronjob是否会像我使用“php-f file.php”这样的控制台手动运行该文件一样运行该文件,或者cronjob是否会执行类似于cURL请求的操作?我的“real”cmd.php文件需要运行大约2小时(sleep()函数)。
* * * * * /package/host/localhost/php-5.4.4/bin/php  /home/stuff/private/xFEklnTekl/cmd.php