doushenxu7294 2016-01-28 06:25
浏览 131
已采纳

如果由Cron运行,PHP`exec()`不起作用

I have a PHP script that is being called every minute by crontab like this:

* * * * * /usr/bin/php /var/www/html/cronjobs/watchdog/watchdogExec.php

The script executes a number of other PHP scripts and passes a variable like so:

$ccmd = "nohup sudo /usr/bin/php watchdog.php " . $var . " &";
exec($ccmd);

When called from a browser, watchdogExec.php runs fine and does its job. However when I added the cronjob, the script is not working and is spamming mails with the following error:

No entry for terminal type "unknown";
using dumb terminal settings.

This error appears the same number of times exec() is called, so I figured that must be the issue. I searched and read about cronjob not running commands in a terminal, and I tried setting the environment in the crontask, but it did not help. Apparently PHP is printing that error, but I haven't found anything in their documentation about it.

* * * * *  /usr/bin/env TERM=xterm /usr/bin/php /var/www/html/cronjobs/watchdog/watchdogExec.php

I am running CentOS 7.

Edit:

Searched some more and found out about PHP environment variables. Someone fixed a similar problem by adding the following in their PHP script. However this is not fixing my problem, it only stops the mail spam. The script is still not working.

putenv('SHELL=/bin/bash');
putenv('TERM=xterm');
  • 写回答

2条回答 默认 最新

  • dongzhou4727 2016-01-28 07:17
    关注

    Have you tried using full paths in your exec statement too? Also try adding the TERM environment variable:

    $ccmd = "nohup /usr/bin/sudo /usr/bin/env TERM=xterm /usr/bin/php watchdog.php " . $var . " &";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 如何卸载arcgis 10.1 data reviewer for desktop
  • ¥15 共享文件夹会话中为什么会有WORKGROUP
  • ¥15 关于#python#的问题:使用ATL02数据解算光子脚点的坐标(操作系统-windows)
  • ¥115 关于#python#的问题:未加密前两个软件都可以打开,加密后只有A软件可打开,B软件可以打开但读取不了数据
  • ¥15 在matlab中Application Compiler后的软件无法打开
  • ¥15 想问一下STM32创建工程模板时遇到得问题
  • ¥15 Fiddler抓包443
  • ¥20 Qt Quick Android 项目报错及显示问题