【问题标题】:PHP Cron Script No Longer Able to EXECPHP Cron 脚本不再能够执行
【发布时间】:2016-02-11 03:03:22
【问题描述】:

所以我有一个每分钟运行一个 PHP 脚本的 cron 脚本。

似乎脚本正在运行,因为它写入文件,但它执行()命令的第二部分似乎不起作用。

当我手动运行脚本时, exec() 工作正常。

有什么想法可以诊断这个吗?我做了一些研究,甚至将 PHP 脚本的文件权限更改为 777 - no cigar。

奇怪的是我的配置之前一直在工作,但突然停止工作。

PHP 信息,按要求提供;

safe_mode   Off Off
safe_mode_exec_dir  no value    no value
safe_mode_gid   Off Off
safe_mode_include_dir   no value    no value

【问题讨论】:

  • 你捕捉到了执行结果?
  • 我没有 exec() 输出任何东西或在任何地方写输出
  • 你能提供你试图执行()的命令行吗?
  • exec("sudo service nginx restart");
  • 您是否尝试过在控制台中手动运行 cron 脚本,看看它们是否有效?

标签: php nginx cron centos crontab


【解决方案1】:

系统管理员是否可以执行某些操作,例如“safe_mode”? cron 以什么用户身份运行?您确定该用户有权限吗?

另外,exec() 可能有风险。小心所有输入!

http://php.net/manual/en/function.exec.php

【讨论】:

  • exec 不是动态的,它是静态的,所以风险不大。 cron 在 root 下运行,以确保我什至可以执行 sudo phpscript.php 并且 php 脚本中的 exec() 仍然无法正常工作
  • 检查 phpinfo() 看是否开启了“safe_mode”。
  • 刚加到OP,好像被禁用了
猜你喜欢
  • 1970-01-01
  • 2018-02-13
  • 1970-01-01
  • 1970-01-01
  • 2019-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
相关资源
最近更新 更多