标签: laravel-10

laravel/framework[v10.0.0, ..., v10.0.3] 需要composer-runtime-api ^2.2 -> 找到composer-runtime-api[2.1.0] 但它与约束不匹配

当尝试安装 laravel 10 时,我收到此错误 -

laravel/framework[v10.0.0, ..., v10.0.3] 需要composer-runtime-api ^2.2 -> 找到composer-runtime-api[2.1.0] 但它与约束不匹配。

php laravel composer-php laravel-10

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

Laravel 9 和 10 使用比以前版本 x15 的内存(可能是由于 SANCTUM),如何优化?

我有 3 个 Laravel 应用程序,一个在 Laravel 6 上运行,2 个在 Laravel 8 上运行。

它们都使用来自 的 Vue 和 JWT auth tymondesigns,我计划将它们全部升级到 Laravel 10。

但在我成功重建了我的一个应用程序以在其上安装 Laravel 10 和 Jetstream 后。我注意到与同一应用程序的旧版本相比,它使用了 x15 内存。

你可以在这里看到(我使用发条进行监控)。尽管 L10 与 Octane 一起运行,但它们都位于同一台服务器上,并且在具有 4GB 内存的 Ubuntu 中处于生产模式,

运行 Laravel 8 的旧版本- 仅使用 2MB 内存 在此输入图像描述

使用 Jetstream 运行 Laravel 10 的新版本- 使用 30MB 内存(即使使用 404) 在此输入图像描述

我认为这是由于我自己的代码结构和应用程序设计造成的,所以我在 Laravel 8 和 Laravel 9 的裸安装之间进行了测试

composer create-project laravel/laravel:^8.0 l8
Run Code Online (Sandbox Code Playgroud)

composer create-project laravel/laravel:^9.0 l9
Run Code Online (Sandbox Code Playgroud)

然后将其添加到两个 api 路由上。

Route::get('/test', …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-sanctum laravel-9 laravel-10

8
推荐指数
0
解决办法
674
查看次数

更新到 laravel 10 后无法使用 DB::select(DB::raw()) 执行原始查询

更新到 laravel 10 后,我无法像这样执行原始查询:

$statement = 'SELECT';
    foreach ($tables = collect(availableTables()) as $name => $table_name) {
        if ($tables->last() == $table_name) {
            $statement .= "( SELECT COUNT(*) FROM $table_name) as {$table_name}";
        }
        else {
            $statement .= "( SELECT COUNT(*) FROM $table_name) as {$table_name}, ";
        }
    }
    $query  = DB::select(DB::raw($statement));
Run Code Online (Sandbox Code Playgroud)

这返回给我以下错误:

PDO::prepare (): Argument #1 ($query) must be of type string, Illuminate\Database|Query\ Expression given
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能解决这个问题

mysql laravel raw-query-builder laravel-10

8
推荐指数
1
解决办法
4652
查看次数

我在使用 Laravel 10 获取图像时遇到 CORS 错误

我有一个 Laravel 10 的 API,我正在尝试获取保存在 public/images 文件夹中的图像。

这是我在控制器中的功能:

public function show()
{
    $imageUrl = asset('images/myimage.png');
    return response()->json(['imageUrl' => $imageUrl]);
}
Run Code Online (Sandbox Code Playgroud)

这是我的 API:

Route::get('images', [ImageController::class, 'show']);
Route::post('images', [ImageController::class, 'store']);
Run Code Online (Sandbox Code Playgroud)

使用 POSTMAN,响应http://127.0.0.1:8000/api/images是:

{
    "imageUrl": "http://127.0.0.1:8000/images/myimage.png"
}
Run Code Online (Sandbox Code Playgroud)

如果我用 POSTMAN 或浏览器打开该 url,我就可以完美地看到图像。但是,当我尝试在前端应用程序(使用 Angular 15)中获取图像时,我收到 CORS 错误:

Access to XMLHttpRequest at 'http://127.0.0.1:8000/images/myimage.png' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)

我的cors配置文件是这样的:

<?php

return [ …
Run Code Online (Sandbox Code Playgroud)

php cors laravel angular laravel-10

5
推荐指数
0
解决办法
1864
查看次数

升级到 Laravel 10 后,Larastan 抱怨收集方法参数

升级到 Laravel 10 后,我遇到了 Larastan 错误的困难时期。

下面的代码在 1 小时前还完全正常:

return $this->articleRepository->getDefaultArticles($organizationId)
    ->toBase()
    ->map(function (Article $article) {
        return new Content(
            $article->id,
            $article->title,
            $article->language,
        );
    })
    ->toArray();
Run Code Online (Sandbox Code Playgroud)

现在给我以下错误:

方法 Illuminate\Support\Collection<(int|string),Illuminate\Database\Eloquent\Model>::map() 的参数 #1 $callback 需要 callable(Illuminate\Database\Eloquent\Model, int|string): App\学院\内容,
关闭(应用程序\模型\文章):给出的应用程序\学院\内容

存储库方法有正确的提示:

/**
 * @return Collection<Article>
 */
public function getDefaultArticles(OrganizationId $organizationId): Collection
{
    /** @var Collection<Article> */
    return Article::query()
        ->where('organization_id', $organizationId)
        ->get()
        ->keyBy('id')
        ->values();
}
Run Code Online (Sandbox Code Playgroud)

它给了我 115 个新错误,其中大多数与此类似,与map和等收集方法相关reduce

快速解决方案是使用临时变量并添加类型提示:

/** @var Collection<Article> $articles */
$articles = $this->articleRepository
    ->getDefaultArticles($organizationId)
    ->toBase();
Run Code Online (Sandbox Code Playgroud)

但我不想执行 100 …

php laravel phpstan laravel-10

5
推荐指数
1
解决办法
1246
查看次数

Laravel 10 - .env 文件中的 API 密钥无法识别

我在用Laravel Framework 10.15.0

\n

我正在尝试通过以下方式加载我的 API 密钥:

\n
        $apiKeyOpenAI = env('OPENAI_API_KEY');\n        $client = OpenAI::client($apiKeyOpenAI);\n
Run Code Online (Sandbox Code Playgroud)\n

在我的.env文件中明确定义了 api 密钥:

\n

OPENAI_API_KEY=xx-xxxxxxxxxxxxxxxxxxxxxxx

\n

但是,当在服务器上执行我的应用程序时,我发现该$apiKeyOpenAI值为空。

\n

我的文件中仍然.env有 OPENAI_API_KEY 。我检查了这个!

\n

我尝试清除缓存php artisan config:clear ,但仍然收到错误:

\n
\n   TypeError \n\n  OpenAI::client(): Argument #1 ($apiKey) must be of type string, null given, called in /var/www/demo-website/app/Console/Commands/AdminCommand.php on line 151\n\n  at vendor/openai-php/client/src/OpenAI.php:13\n      9\xe2\x96\x95 {\n     10\xe2\x96\x95     /**\n     11\xe2\x96\x95      * Creates a new Open AI Client with the given API token.\n …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-10

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

美丽搜索版本【错误:您的数据库版本(1.0.2)与您当前的引擎版本(1.1.0)不兼容。】

当我启动运行 docker 时,meilisearch 容器未运行并出现此错误:

2023-04-10 17:23:44 错误:您的数据库版本 (1.0.2) 与当前引擎版本 (1.1.0) 不兼容。2023-04-10 17:23:44 要在Meilisearch版本之间迁移数据,请按照我们的指南https://docs.meilisearch.com/learn/update_and_migration/updating.html

当我昨天运行我的项目时,一切都很好,但今天我无法开始运行 meilisearch。

laravel docker meilisearch laravel-10

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

Beyondcode/laravel-websockets 软件包未安装在 laravel 10.8 框架上

在 Laravel 10.8框架中使用 Beyondcode/laravel-websockets包,那么它会在命令提示符中导致如下错误

您的要求无法解析为一组可安装的软件包。

我已经在composer.json中设置了所需的设置

"require": {
        "php": "^8.1",
        "beyondcode/laravel-websockets": "^1.14",
        "guzzlehttp/guzzle": "^7.2",
        "laravel/framework": "^10.8",
        "laravel/sanctum": "^3.2",
        "laravel/tinker": "^2.8"
    }
Run Code Online (Sandbox Code Playgroud)

laravel-websockets laravel-10

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