我的系统是:Ubuntu 20.04 PHP 7.4开发工具
我有一个php文件,在/var/www/www.example.com路径中包含以下内容:hamrah.com/create.php path :
<?php
$output = shell_exec('bash flutter create test');
echo "<pre>$output</pre>";
我在终端和中运行此命令并且此命令正确执行(为我创建flutter项目)
cd /var/www/hamrah.com && php /var/www/hamrah.com/create.php
但是!
但是,当我将此命令放入Crontab时,命令无法正确执行,并给出错误
在Crontab中:
* * * * * cd /var/www/hamrah.com && php /var/www/hamrah.com/create.php
注意:如果我在php文件中放入shell_exec(' bash ls')
而不是shell_exec('bash flutter creat test')
,它将运行良好,并且一些命令(如flutter create
命令)将不会执行。
- 错误:**bash:flutter:没有这样的文件或目录
2条答案
按热度按时间bqjvbblv1#
你可以测试
mwg9r5ms2#
Cron不读取用户的环境变量,
PATH
的默认值为/usr/bin:/bin
,通常你的flutter SDK不会位于这两个文件夹中,所以你需要明确指定flutter SDK的位置,将这一行添加到crontab中。如果你不知道flutter在哪里,使用下面的命令。