laravel 错误 cron 使用
laravel error cron uses
Laravel错误
cron uses /usr/bin/php /home/sitevk/artisan schedule:run 1>>
/dev/null: 2>&1
App\Console\Kernel:
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use App\User;
use Log;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
\App\Console\Commands\Inspire::class,
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
Log::info('1');
$schedule->call(function () {
$user = User::find(1);
$user->first_name = 'cron...';
$user->save();
})->everyMinute();
}
}
日志:
[2015-08-31 19:14:02] local.ERROR: exception 'ErrorException' with
message 'Invalid argument supplied for foreach()' in
/home/sitevk/vendor/symfony/console/Input/ArgvInput.php:287 Stack
trace:
#0 /home/sitevk/vendor/symfony/console/Input/ArgvInput.php(287): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2,
'Invalid argumen...', '/home/sitevk/ve...', 287, Array)
#1 /home/sitevk/vendor/symfony/console/Application.php(827): Symfony\Component\Console\Input\ArgvInput->hasParameterOption(Array)
#2 /home/sitevk/vendor/symfony/console/Application.php(123): Symfony\Component\Console\Application->configureIO(Object(Symfony\Component\Console\Input\ArgvInput),
Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /home/sitevk/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(100):
Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput),
Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 /home/sitevk/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput),
Object(Symfony\Component\Console\Output\ConsoleOutput))
#5 {main}
我也遇到了同样的问题。我试图 运行 cPanel 上的 cron。
我做的是,
* * * * * php-cli -q /path/to/artisan schedule:run >> /dev/null 2>&1
而不是
* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1
不知道如何,但它对我有用。问题可能与 php 命令提示符有关。
有必要放更高版本的php
错误:ArgvInput.php 第 280 行
register_argc_argv 在 php.ini
中设置为关闭
我们需要将 register_argc_argv 设置为 true。
如果问题仍然存在,请尝试在命令中使用 php-cli -q 而不是 php。
示例:
* * * * * php /home/path/to/artisan schedule:run 1>> /dev/null 2>&1
到
* * * * * php-cli -q /home/path/to/artisan schedule:run >> /dev/null 2>&1
我在共享 cpanel 主机上配置 Laravel cron 作业时遇到了同样的错误,其他答案对我不起作用,所以这是我的解决方案,以防它能帮助别人:
而不是这个:
cd /home/user/path/to/project && /usr/bin/php-cli -q artisan schedule:run
我最终使用了这个:
/usr/local/bin/ea-php72 /home2/path/to/project/artisan schedule:run
这与其他答案中提到的使用 php-cli 基本相同,但在我的主机上使用 /usr/bin/php-cli 导致另一个错误,因为它没有找到。我在这里查看 cpanel 文档时偶然发现了这个符号链接:https://documentation.cpanel.net/display/EA4/PHP+Home#PHPHome-ModifyPHP
当我尝试使用我的 cpanel 终端迁移数据库时,我遇到了这个问题。之后我使用putty并连接同一台服务器,然后使用php artisan migrate命令,解决了,希望对您有所帮助。
Laravel错误
cron uses /usr/bin/php /home/sitevk/artisan schedule:run 1>> /dev/null: 2>&1
App\Console\Kernel:
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use App\User;
use Log;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
\App\Console\Commands\Inspire::class,
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
Log::info('1');
$schedule->call(function () {
$user = User::find(1);
$user->first_name = 'cron...';
$user->save();
})->everyMinute();
}
}
日志:
[2015-08-31 19:14:02] local.ERROR: exception 'ErrorException' with message 'Invalid argument supplied for foreach()' in /home/sitevk/vendor/symfony/console/Input/ArgvInput.php:287 Stack trace: #0 /home/sitevk/vendor/symfony/console/Input/ArgvInput.php(287): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Invalid argumen...', '/home/sitevk/ve...', 287, Array)
#1 /home/sitevk/vendor/symfony/console/Application.php(827): Symfony\Component\Console\Input\ArgvInput->hasParameterOption(Array)
#2 /home/sitevk/vendor/symfony/console/Application.php(123): Symfony\Component\Console\Application->configureIO(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /home/sitevk/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(100): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 /home/sitevk/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#5 {main}
我也遇到了同样的问题。我试图 运行 cPanel 上的 cron。
我做的是,
* * * * * php-cli -q /path/to/artisan schedule:run >> /dev/null 2>&1
而不是
* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1
不知道如何,但它对我有用。问题可能与 php 命令提示符有关。
有必要放更高版本的php
错误:ArgvInput.php 第 280 行
register_argc_argv 在 php.ini
中设置为关闭我们需要将 register_argc_argv 设置为 true。
如果问题仍然存在,请尝试在命令中使用 php-cli -q 而不是 php。
示例:
* * * * * php /home/path/to/artisan schedule:run 1>> /dev/null 2>&1
到
* * * * * php-cli -q /home/path/to/artisan schedule:run >> /dev/null 2>&1
我在共享 cpanel 主机上配置 Laravel cron 作业时遇到了同样的错误,其他答案对我不起作用,所以这是我的解决方案,以防它能帮助别人:
而不是这个:
cd /home/user/path/to/project && /usr/bin/php-cli -q artisan schedule:run
我最终使用了这个:
/usr/local/bin/ea-php72 /home2/path/to/project/artisan schedule:run
这与其他答案中提到的使用 php-cli 基本相同,但在我的主机上使用 /usr/bin/php-cli 导致另一个错误,因为它没有找到。我在这里查看 cpanel 文档时偶然发现了这个符号链接:https://documentation.cpanel.net/display/EA4/PHP+Home#PHPHome-ModifyPHP
当我尝试使用我的 cpanel 终端迁移数据库时,我遇到了这个问题。之后我使用putty并连接同一台服务器,然后使用php artisan migrate命令,解决了,希望对您有所帮助。