Yii2 脚本手动执行可以,计划任务执行不成功
用Yii2的console写了个脚本,在命令行执行都OK。
放到cron里面也按时去执行了,但就是执行的效果不对,console脚本执行结果不对。
查看之后的是由于yii脚本的php路径问题(跟目录下面的yii)
需要将一下代码的第一行,php换成你服务器上面的路径
#!/usr/bin/env php <?php /** * Yii console bootstrap file. * * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV', 'dev'); require(__DIR__ . '/vendor/autoload.php'); require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php'); require(__DIR__ . '/common/config/bootstrap.php'); require(__DIR__ . '/console/config/bootstrap.php'); $config = yii\helpers\ArrayHelper::merge( require(__DIR__ . '/common/config/main.php'), require(__DIR__ . '/common/config/main-local.php'), require(__DIR__ . '/console/config/main.php'), require(__DIR__ . '/console/config/main-local.php') ); $application = new yii\console\Application($config); $exitCode = $application->run(); exit($exitCode);
或者在服务器上为PHP执行文件添加软连接
ln -s /usr/local/php/bin/php /usr/local/bin/php
ln -s 当前文件绝对路径 要放置的绝对路径