现在需要在linux下定时执行php文件
我的配置过程是:cd /etccrontab -e*/5 * * * * /usr/local/bin/php  /home/he/website/call.php
其中call.php是需要定时执行的脚本,/usr/local/bin/php 是php的目录编辑完后重启了crond服务
现在的问题是,脚本没有定时执行。我在crontab 中添加另一项任务
*/1 * * * * date >> aaa.txt 却可以正常执行不知道是什么原因,请大家不吝指教。
先谢谢大家。

解决方案 »

  1.   

    直接命令行执行
    /usr/local/bin/php /home/he/website/call.php
    检查是否可以正确执行
      

  2.   

    php脚本中添加了 #! /usr/local/bin/php 之后仍然不能正常运行。
    唔。究竟是怎么一回事呢?不会是权限的问题:我是用的sudo crontab -e
      

  3.   

    直接命令行执行
    /usr/local/bin/php /home/he/website/call.php/usr/local/bin/php  楼主检查下php路径,从你的问题来看是Php安装程序路径问题。
      

  4.   


    肯定不是安装路径问题,我说了,直接命令行执行/usr/local/bin/php /home/he/website/call.php
    是可以正确执行的。
      

  5.   


    普通用户,有sudo权限,我是 sudo crontab -e
      

  6.   

    call.php 里面如果用了include require 这个些东西,请用绝对路径包含。
      

  7.   

    整了一中午,终于找到问题所在了.贴出来和大家分享一下:1.先是测试crontab对于普通任务能否执行:
      crontab -e 
    */1 * * * * date >> /usr/local/mydate.log
    保存后重启crontab :
    service crond restart
    过一分钟后发现/usr/local下生成了mydate.log,说明对普通的定时任务可以执行。
    2.现在php脚本不能定时执行,应该是脚本的路径问题或者php的路径问题,于是,手工执行了/usr/local/bin/php /usr/he/website/call.php
    发现可以正常执行。于是想到把相关的log打出来*/1 * * * * /usr/local/bin/php /usr/he/website/call.php >>mylog.log 2>&1
    过一分钟后打开mylog.log文件,发现提示的错误是:file_get_contents(./view/....)这个错误,至此错误很明显了,是相对路径的问题,把他改为绝对路径后,可以执行了。很感激8楼的提醒。