标签: laravel-artisan

Laravel 到控制器的路由被调用两次

我仍在学习 laravel,并使用 v5.4.28 创建了一个项目,也使用 dev v5.5 进行了测试,两个版本都调用控制器两次,从而插入 2 条记录。仅当我使用 WAMP 并访问http://localhost/laravel/public/test?test=123 时才会发生这种情况

如果我使用 php artisan 服务并访问此 http://127.0.0.1:8000/test?test=123 它只插入一次

如果我使用 chrome 检查并查看我的网络选项卡,我会看到该页面在 wamp 上被调用两次。

这是正常的吗?

将我的routes/web.php编辑为

Route::get('/', function () {
return view('home');
});
Route::get('/test', 'testController@store');
Run Code Online (Sandbox Code Playgroud)

并创建了一个 testController

class testController extends Controller
{
    public function store()
    {
        $test = new Test;
        $test ->user_id = request('test');
        $test ->save();

        //if i put a redirect here then it wont insert twice
    }
}
Run Code Online (Sandbox Code Playgroud)

php wamp laravel laravel-artisan

3
推荐指数
1
解决办法
2970
查看次数

php artisan 服务找不到 autoload.php

解决方案: laravel new project-name实际上给了我一个我忽略的错误。我的 php 版本错误。它需要phpv7.1.3 或更高版本。如果你没有它,它就不起作用。

遇到了另一个问题:

  • 我有一个系统环境变量指向旧版本的 php
  • Laravel 还需要 openssl 扩展和 mbstring 才能打开。php.ini 中未注释

对于新手:如果您刚刚下载了 php 并解压缩了该文件。它包含一个名为

安装.txt

必须阅读的内容。它解释了一切。

laravel new blog从他们的入门页面跑了出来。当我尝试运行时 php artisan serve,出现以下错误:

警告:require(C:\Projects\laravel-projects\blog/vendor/autoload.php):无法打开流:第 18 行 C:\Projects\laravel-projects\blog\artisan 中没有此类文件或目录

artisan 文件指向

require __DIR__.'/vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

该目录不存在。即使我将其指向正确的目录,它仍然无法工作,因为我没有该文件夹的读取权限(因此它被拒绝)。

这是怎么回事?我该如何解决这个问题?

编辑:将上面提到的网址更改为:

C:\Users\sarkis\AppData\Roaming\Composer\vendor\autoload.php

由于某种原因,这非常有效。现在。出现新错误。

致命错误:未捕获错误:在 C:\Projects\laravel-projects\blog\bootstrap\app.php:14 堆栈跟踪中找不到类“Illuminate\Foundation\Application”:#0 C:\Projects\laravel-projects\blog \artisan(21): require_once() #1 {main} 在第 14 行的 C:\Projects\laravel-projects\blog\bootstrap\app.php 中抛出

发现我没有所需的正确版本的 php。

php laravel laravel-artisan

3
推荐指数
1
解决办法
2万
查看次数

如何使用 Laravel 任务调度将参数传递给命令

作为官方文档,它没有太多提及这一点。 App\Console\Commands\PullUsersCommand.php有一个像这样的签名:

protected $signature = 'pull:users {startTime} {endTime} {minutes=10} {--flag} {--star=}';
Run Code Online (Sandbox Code Playgroud)

那么,如何将参数传递给它App\Console\Kernel.php

laravel laravel-scheduler laravel-artisan

3
推荐指数
1
解决办法
6463
查看次数

Laravel:: php artisan migrate 没有更新更改

我想用一个我忘记的额外列来更新我的数据库,所以我删除了我的数据库,并在创建方法和可填充字段中添加了该字段,但每当我迁移它时。它只获取以前的字段,但不添加新字段。问题是什么?

php migrate laravel laravel-artisan

3
推荐指数
1
解决办法
3889
查看次数

如何在本地网络上运行“php artisanserve”

在此输入图片描述我和一位同学正在一家网上商店工作。我们必须分享我们的进展并开始使用 Dropbox,但它太慢了。我们尝试通过本地网络连接我们的电脑,他在“公共访问”文件夹中共享该项目,以便我可以读取和编辑文件,但是当我运行 php artisanserve 命令时,我收到一条消息说不支持 UNC 路由。我对 npm run dev/watch 也有类似的问题,因为它在“C:”中搜索文件,但我不在 C: 上

我尝试将命令更改为 php artisanserve --host 0.0.0.0 --port 80 并更改主机和端口,但它不起作用。还尝试在 PowerShell 上运行这两个命令,我读到它支持 UNC 路由,但它引发了相同的错误。我很绝望,因为已经过去了 4 个小时,而 Dropbox 文件还没有准备好。关于 npm 问题我没有找到有用的答案。抱歉英语不好

remote-access laravel vue.js laravel-artisan

3
推荐指数
1
解决办法
9165
查看次数

如何在 laravel artisan 命令中仅获取我自己的选项?

$this->options()在 artisan 命令内部进行操作为我提供了每个artisan 命令具有的所有现有选项:

\n\n
array (9) [\n    \'debug\' => boolean true <---------- from me\n    \'help\' => boolean false\n    \'quiet\' => boolean false\n    \'verbose\' => boolean false\n    \'version\' => boolean false\n    \'ansi\' => boolean false\n    \'no-ansi\' => boolean false\n    \'no-interaction\' => boolean false\n    \'env\' => null\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我只想得到我自己的,在这个例子中:“ debug ”。
\有什么方法或技巧我可以在这里使用吗?

\n\n

为什么我需要那个?
\n我想要我的工匠“签名”的唯一哈希以及所有选项和参数。如果 laravel 将来在其默认选项中更改任何内容,我的哈希值也会更改,即使我没有更改任何选项,那 xc2xb4 也很糟糕。

\n

php laravel laravel-artisan

3
推荐指数
1
解决办法
781
查看次数

Laravel - 如何在本地开发中使用 https 为 Laravel 项目提供服务

我在谷歌上搜索了很多有关 https 服务的解决方案。即使我尝试了 ngrok,但它也无法正常工作。下面是ngork的代码。

php artisan serve
cd <path-to-ngrok>
./ngrok http localhost:8000
Run Code Online (Sandbox Code Playgroud)

我确信 Laravel 有工匠来提供 HTTPS 服务。

https laravel ngrok laravel-artisan

3
推荐指数
1
解决办法
2万
查看次数

PHP 致命错误:未捕获错误:无法在 E:\new-project\artisan:18 中打开所需的 'new-project/vendor/autoload.php' (include_path='.;C:\php\pear')

我想由作曲家创建新的 laravel 项目。我使用composer create-project laravel/laravel new-project命令来创建新项目。然后,我的项目是按照这张图片创建的。

在此输入图像描述

我使用 Laravel 的 Artisan CLI 服务命令(先是命令cd new-project,然后是php artisan serve命令)启动 Laravel 的本地开发服务器。但我收到以下错误。

在此输入图像描述

为什么这个项目中没有vendor文件夹?!!!
我该如何修复这个错误?

(我使用的是 PHP 8.1.10)

php autoload laravel composer-php laravel-artisan

3
推荐指数
1
解决办法
2万
查看次数

Laravel 10 Unit Test does not see DB change from Artisan Command

I have an artisan command (Laravel 10) that makes a change to the user table in the database. I can confirm that the change is happening with output from the command itself, and it looks like it's actually working.

However, when I run the unit test, it does not see the updated database change.

Unit Test

public function test_promote_user_command_sets_user_as_super_admin()
{
    $user = $this->createUser('guest');

    $response = $this->artisan("user:promote {$user->email}")->assertSuccessful();

    $role = Role::where('name', '=', 'Super Admin')->first();
    $this->assertDatabaseHas('users', [
        'id' => $user->id,
        'role_id' => …
Run Code Online (Sandbox Code Playgroud)

php testing tdd laravel laravel-artisan

3
推荐指数
1
解决办法
490
查看次数

如何清除单个条目而不是所有条目的 PHP artisan 缓存

通常,当我想清除应用缓存时,我会运行php artisan cache:clear但会删除所有缓存条目。我希望做的是通过指定键来忘记命令行中的单个元素。例如,类似的东西php artisan cache:clear --key=userids

我查看了一些文档,但找不到任何内容。这是可能的,如果可以,如何?

php laravel laravel-artisan

2
推荐指数
1
解决办法
126
查看次数