ホームページ  >  記事  >  PHPフレームワーク  >  yii2 でスケジュールされたタスクが失敗する問題を解決する方法

yii2 でスケジュールされたタスクが失敗する問題を解決する方法

angryTom
angryTomオリジナル
2019-11-06 16:18:581934ブラウズ

yii2 でスケジュールされたタスクが失敗する問題を解決する方法

#yii2 のスケジュールされたタスクが失敗した場合の問題の解決方法

Yii2 コンソールを使用してスクリプトを作成しましたコマンドラインで実行したらすべてOKでした。 cronに入れて時間通りに実行しましたが、実行結果が間違っており、コンソールスクリプトの実行結果も間違っていました。

確認したところ、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(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);
defined(&#39;YII_ENV&#39;) or define(&#39;YII_ENV&#39;, &#39;dev&#39;);
require(__DIR__ . &#39;/vendor/autoload.php&#39;);
require(__DIR__ . &#39;/vendor/yiisoft/yii2/Yii.php&#39;);
require(__DIR__ . &#39;/common/config/bootstrap.php&#39;);
require(__DIR__ . &#39;/console/config/bootstrap.php&#39;);
$config = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . &#39;/common/config/main.php&#39;),
    require(__DIR__ . &#39;/common/config/main-local.php&#39;),
    require(__DIR__ . &#39;/console/config/main.php&#39;),
    require(__DIR__ . &#39;/console/config/main-local.php&#39;)
);
$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 現在のファイルの絶対パスが配置される絶対パス


推奨: "

YII チュートリアル"

以上がyii2 でスケジュールされたタスクが失敗する問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。