标签: laravel-artisan

如何重定向工匠修补程序输出?

我使用工匠修补程序控制台制作大型物体。从该对象返回的方法输出并不完全适合 Artisan Tinker 控制台。我想将它保存到文件中。但是如何?我正在使用Linux。

php bash laravel laravel-artisan

4
推荐指数
1
解决办法
2879
查看次数

Laravel 工匠路由列表中的 HTTPException

我遇到了一个问题,即运行php artisan route:list会抛出 aSymfony\Component\HttpKernel\Exception\HttpException但它没有给我任何其他输出或在我能看到的任何地方记录它。

我已经尝试composer updatedump-autoload刷新路由缓存,调试也设置为true。我怎样才能获得更多关于HttpException被抛出的信息?

php symfony laravel laravel-routing laravel-artisan

4
推荐指数
1
解决办法
2007
查看次数

Laravel Artisan::队列不工作

我有一个名为“import:excelfile”的 artisan 命令签名

我想在我的控制器内运行该命令。我的控制器中一切正常。但 Artisan::queue('import:excelfile') 未从控制器运行。但它可以完美地从 CLI 运行。问题出在哪里?

请看我的代码

控制器方法代码 http://pastebin.com/45dj179H

工匠代码 http://pastebin.com/zNCtQKZ0

谢谢

php laravel laravel-artisan

4
推荐指数
1
解决办法
3782
查看次数

为什么 laravel 5 artisan migrate 没有创建 sqlite 数据库?

我正在尝试使用artisan migratesqlite.

我在database.php中有以下内容

    'sqlite' => [
        'driver' => 'sqlite',
        'database' => database_path('database.sqlite'),
        'prefix' => '',
    ],
Run Code Online (Sandbox Code Playgroud)

这是我的迁移类up功能

    Schema::connection('sqlite')->create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
Run Code Online (Sandbox Code Playgroud)

注意:- 我已通过环境变量将 DB_CONNECTION 设置为 sqlite。

在命令行上我得到了nothing to migrate,并且没有创建数据库(也没有表)。

任何想法如何,我可以得到artisan migrate创建sqlite的数据库laravel 5

mysql通过工匠创建表格没有问题。

谢谢

php sqlite laravel laravel-5 laravel-artisan

4
推荐指数
1
解决办法
6492
查看次数

Laravel 在生产中以编程方式从 web.php 调用 artisan 命令

我有以下路线:

Route::get('/beneficiaries/seed', function () {
    echo "<p>Database seeding started...</p>";
    $exitCode = Artisan::call('db:seed');
    echo "<p>Database seeding completed.</p>";
});
Run Code Online (Sandbox Code Playgroud)

在我的本地环境中,当我访问“/beneficiaries/seed”时,它会为数据库设置种子。但是,如果我在生产中也这样做,则不会。我只是复制了播种机类和路由文件。

数据库浏览器:

class DatabaseSeeder extends Seeder
{
    public function run()
    {
        $this->call(BeneficiariesTableSeeder::class);
    }
}
Run Code Online (Sandbox Code Playgroud)

受益人TableSeeder:

class BeneficiariesTableSeeder extends Seeder
{
    public function run()
    {
        //seeding logic...
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么我的生产 Artisan 命令没有得到执行?(我没有使用过数据库事务。即使没有它,本地数据库也会被播种,因为没有引发错误。)

php laravel laravel-5.6 laravel-artisan

4
推荐指数
1
解决办法
1555
查看次数

Laravel .env 文件返回错误数据

我一直在尝试从 laravel 5.7.3 中的数据库获取数据,但它似乎使用了错误的数据库名称、用户名和密码,因为它返回了此错误:

SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from `tasks`)
Run Code Online (Sandbox Code Playgroud)

我的 .env 文件数据库部分也是根据我的需要并设置如下:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mrdb
DB_USERNAME=root
DB_PASSWORD=
Run Code Online (Sandbox Code Playgroud)

PS:我的应用程序环境仍然是本地的。我还可以毫无问题地迁移数据并将其放入数据库artisan tinker,但不能只从数据库中获取数据。

它起作用的唯一方法是将config/database.phpmysql 部分更改为我的参数,我相信这不正确。

为什么 .env 不想在调用数据库时进行更改?

php mysql database laravel laravel-artisan

4
推荐指数
1
解决办法
2289
查看次数

使用 Artisan 调用 php artisan migrate

是否可以创建 Artisan 调用或命令

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

喜欢Artisan::call('migrate);

因此,当连接动态更改时,我可以将丢失的表迁移到我的数据库。

  Config::set('database.connections.dynamicdb', array(
        'driver'    => 'mysql', 
         'host'      => '127.0.0.1',
         'database'  =>  $database_name,
         'username'  =>  'test_user',
         'password'  =>  '123456',
         'charset'   => 'utf8mb4',
         'collation' => 'utf8mb4_unicode_ci',
         'strict'    => false,
         'options'   => [                                
               \PDO::ATTR_EMULATE_PREPARES => true
            ]
       ));

  Artisan::call('migrate');
Run Code Online (Sandbox Code Playgroud)

或者有没有办法为其创建命令?请提出一些解决方案。

php dynamic laravel-5 laravel-artisan

4
推荐指数
1
解决办法
7967
查看次数

artisan 命令始终显示消息 Not a git repository (or any of the parent directory)

我有一个与 Docker 一起运行的应用程序,忽略了 .git 目录以减小项目的大小。

问题是每次运行 artisan 命令时都会显示此消息并存储在 Kubernetes 的日志中。而且,在某些情况下,这也是一些 kubernetes 任务无法达到 HEALTHY 状态的原因。

我有一个带有 kubernetes 的 Cronjob,它仅达到 2/3,并且显示的日志的唯一消息就是这个。

git laravel kubernetes laravel-artisan

4
推荐指数
1
解决办法
258
查看次数

Laravel - 尚未设置外观根

我在 Laravel 应用程序中运行测试时遇到问题。我的应用程序被拆分为单独的命名空间。Laravel App 命名空间在 app 目录中,它是 App/ 命名空间。我在 src 目录中有额外的命名空间。

我的测试用例看起来像这样:

<?php

namespace Tests\Unit;

use Illuminate\Foundation\Testing\DatabaseTransactions;
use PHPUnit\Framework\TestCase;
use SmoothCode\Sample\Domain\User\User;
use SmoothCode\Sample\Domain\User\UserRepository;
use SmoothCode\Sample\Domain\User\ValueObject\ConfirmationCode;
use SmoothCode\Sample\Shared\ValueObjects\Email;
use SmoothCode\Sample\Shared\ValueObjects\Id;
use SmoothCode\Sample\Shared\ValueObjects\Password;
use Tests\CreatesApplication;


class UserDomainTest extends TestCase
{
    use CreatesApplication;

    protected UserRepository $userRepository;

    public function testUserCreation() {
        $user = User::create(
            Id::generate(),
            'Jan',
            'Kowalski',
            new Email('test@test.com'),
            '123123123',
            new Password('Pass123!'),
            new \DateTimeImmutable(),
            ConfirmationCode::generate()
        );
//
//        $this->assertInstanceOf(User::class, $user);
    }

    protected function setUp(): void
    {
        parent::setUp();
    }


}
Run Code Online (Sandbox Code Playgroud)

运行 vendor/bin/phpunit 后,我​​收到以下错误:

1) Tests\Unit\UserDomainTest::testUserCreation …
Run Code Online (Sandbox Code Playgroud)

php phpunit laravel laravel-artisan

4
推荐指数
2
解决办法
2941
查看次数

Laravel Artisan Tinker:在多行上写入命令

如何使用 Laravel Artisan Tinker 编写两行命令?

User::whereEmail('john.doe@home.com')
->get()
Run Code Online (Sandbox Code Playgroud)

PHP 解析错误:语法错误,第 1 行出现意外的 T_OBJECT_OPERATOR

laravel tinker laravel-artisan

4
推荐指数
2
解决办法
1532
查看次数