标签: laravel-9

Laravel 9 与 Vite,将 .css 和 .js 文件混合为一个?

如何处理将多个 .css 和 .js 文件混合到一个文件中(laravel mix迄今为止一直这样做)。

新的Laravel 9安装了Vite.js,并删除了laravel mix由于我们最常使用laravel mix的主要功能是将 /resource 文件夹中的文件混合到 /public 文件夹中(许多文件合并为一个)。你是如何处理这个问题的,或者你还在使用 laravel mix 和 Vite 吗?

php laravel vite laravel-9 laravel-vite

6
推荐指数
1
解决办法
1920
查看次数

迁移到 Laravel 9 后出现“用户未设置”IncompleteDsnException

我使用的是 Laravel 8.64,我的电子邮件在产品和开发服务器上都运行良好。但是,升级到 9.0.2 后,我在发送电子邮件时遇到了问题。当然,我遵循了所有说明,但当我尝试发送电子邮件时仍然出现错误。

未设置用户。{“异常”:“[对象](Symfony \ Component \ Mailer \ Exception \ IncompleteDsnException(代码:0):未设置用户。

经过对供应商文件夹的一些研究后,我发现AbstractTransportFactory包含getUser方法的类。

protected function getUser(Dsn $dsn): string
{
    $user = $dsn->getUser();
    if (null === $user) {
        throw new IncompleteDsnException('User is not set.');
    }

    return $user;
}
Run Code Online (Sandbox Code Playgroud)

当我return '';在这个 if 语句中时,一切正常,而不是抛出异常。有谁知道这个问题的解决方案以及为什么会发生这种情况

php symphony-cms laravel laravel-8 laravel-9

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

PHP 8.1 上的 Laravel 9 响应缓慢 - 开箱即用

我正在使用开箱即用的 Laravel 9 / php 8.1 组合,加载初始页面 190 毫秒听起来很可怕。我构建的上一个项目使用了 laravel7,开发过程中的响应时间(包括数据库查询)——复杂的响应时间不到 20 毫秒

目前我正在尝试设置它,因此测试只是加载默认路由或只是返回字符串的路由。

我测试了几个实例

  • 我在旧服务器上构建的自定义 docker 容器(amazonlinux、php81、php81-fpm / nginx)
  • 本地 Windows 10 实例 / php81 / artisan 服务
  • bitnami 预建容器

它们都显示出 80 毫秒到 2200 毫秒不等的响应

在此输入图像描述

  • 由于优化,我的自定义容器显示了 60ms - 80ms 的响应,但在第 3-4 次刷新时,它的响应时间为 450-900ms
  • 在 Windows 10 实例上有稳定的响应,但速度非常慢 ~85-130ms
  • 预建容器也稳定在 190 毫秒左右

您可以理解其中的恐怖,因为这些只是部署的空框架。

我的测试用例是从另一个容器中提取数据库来选择 1-100 条记录,但没有改变响应时间。数据库在不到 10 毫秒的时间内被拉取。

为了进行比较,因为我开始审查 php-fpm 配置(在所有测试用例中仍然是开箱即用的),如果这是瓶颈,我运行了一些基准测试,但它的性能完美无缺。Ops/sec 如正常 php8.1 基准测试中所述

我注意到奇怪的事情是在我的自定义容器的 Xdebug 中,下面还有 2300 条记录。

在此输入图像描述

php laravel docker laravel-9

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

Default Laravel + Vite configuration throws WebSocket connection to failed:

So Laravel decided to innovate once again and fix what was not broken, so Mix is gone and now default asset bundling goes with Vite.

I'm following the absolute default in their documentation to a bunch of front-end bugs and finally only several remained:

I use Laragon with SSL.

I haven't configured anything additional and my vite.config.js looks like this:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
    plugins: [ …
Run Code Online (Sandbox Code Playgroud)

laravel vite laravel-9 laravel-vite

5
推荐指数
3
解决办法
7963
查看次数

Laravel Vue3 和 Vite Rollups - 动态导入失败

我花了一些时间使用 Inertia、Vite、Vue3 Composition API 和 Typescript 将应用程序重写为 Laravel 9。

一切都很顺利,当我通过运行npm run build捆绑生产的所有内容在本地环境上测试生产构建时,看起来不错。

现在我已经启动了新的代码库,但一半的网页无法正常工作..这是为什么?因为Vite无法解析我的动态导入。

npm run build我不明白我的本地(有效)与实时站点之间的区别npm run build...我知道npm run dev使用 es6bundling 而npm run build使用 rollup。

我有一个非常基本的设置,如下所示,currentHeader是动态组件:

<template>
    <component
        :is="currentHeader"
    />
</template>
Run Code Online (Sandbox Code Playgroud)

我尝试了几种不同的方法,但没有任何效果。它仅在我对字符串路径进行硬编码时才有效,这会阻止我使其动态化

1 -我将所有路径从使用 @/ 更改为使用直接路径

2 -我尝试将动态导入的路径添加到vite.config.js

build: {
    rollupOptions: {
        external: [
            "./components/HeaderStandard.vue",
            "resources/js/Components/BitHeader/components/HeaderStandard.vue",
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

3 -我尝试defineAsyncComponent像这样加载标题:

let headers = {
    secondary: './components/HeaderSecondary.vue',
    standard: './components/HeaderStandard.vue'
}
const …
Run Code Online (Sandbox Code Playgroud)

javascript inertiajs vuejs3 vite laravel-9

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

为什么 PHP-FPM 性能优于 Octane?

我设置了一个干净的 Laravel 9 项目。然后我使用 RoadRunner 设置 Octane。

我在 Windows 11 主机中的 VirtualBox VM 上运行它。

我的电脑:

  • CPU:锐龙5 3600

  • 内存:32GB - 2x16GB DDR4 3200Mhz CL16

  • 存储:三星 970 Evo(未加),500GB

虚拟机:

  • CPU:4核

  • 内存:4GB

  • 存储:固定10GB

我使用 nginx 测试并比较了 PHP-FPM 和 Octane 之间的性能wrk:https: //github.com/wg/wrk

在 Laravel 的默认主页上运行基准测试

这些是每个设置的 nginx 配置文件:

  1. 辛烷值设置:
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 80;
    listen [::]:80;
    server_name myapp.dev;
    server_tokens off;
    root /var/www/html/myapp/public;

    index index.php;

    charset utf-8;

    location /index.php {
        try_files /not_exists @octane;
    }

    location …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-octane laravel-9

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

如何使用动态翻译键翻译 Laravel“硬编码”字符串“(和 1 个以上错误)”..(验证异常类)

我已经进行了一些验证,并且我正在这样验证它:

验证器制作

我注意到,当出现超过 1 个错误时,laravel 会添加消息“and 1(or 2 or 4..) more error(s)”..

看看这些图像,您就会明白我的意思:

验证器消息响应

我发现了 Laravel 框架/哪个函数中发生了这种情况:

验证异常汇总函数

它使用动态键调用 Translater get 方法!我将如何翻译动态键?

翻译器接口

我尝试了一些事情:

  • 在英语/葡萄牙语“验证”翻译文件中添加带有占位符的密钥
  • 添加带有数字本身的密钥(替换的占位符)

没有生效,请看下面我的意思:

带占位符的动态翻译键 带有替换占位符的翻译键

我注意到在谷歌搜索时还有其他人遇到同样的问题,但到目前为止我还没有找到解决方案,我不想必须进行“字符串替换”并使用更优雅的解决方案......任何一个有帮助?

其他有同样问题的人: https ://github.com/laravel/framework/discussions/41230

多谢

laravel laravel-9

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

如何将 Flowbite Tailwind 插件添加到我的 Laravel 9 + Vite 项目中?

我尝试将 flowbite 添加到我的 Laravel 项目中。我正在使用 Laravel 版本 9 和 Vite。

到目前为止,我执行了以下步骤:

  1. flowbite作为依赖项安装:
npm i flowbite
Run Code Online (Sandbox Code Playgroud)
  1. 添加了插件tailwind.config.js
plugins: [
  require('@tailwindcss/forms'),
  require('@tailwindcss/typography'),
  require('flowbite/plugin')
],  
Run Code Online (Sandbox Code Playgroud)
  1. 我将其导入App.js
import Flowbite from 'flowbite';


4. Then I ran the app:
```shell
npm run dev
Run Code Online (Sandbox Code Playgroud)

我也尝试使用 CDN 链接添加它,但它不起作用。

有人可以告诉我我做错了什么吗?或者也许你可以建议我一个更好的库来与 Tailwind CSS 一起使用,因为 Tailwind 不提供工具提示、下拉菜单等 js 组件。

createInertiaApp({
    title: (title) => `${title} - ${appName}`,
    resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')),
    setup({ el, app, props, plugin }) {
        return createApp({ render: () => h(app, props) }) …
Run Code Online (Sandbox Code Playgroud)

tailwind-css vuejs3 vite laravel-9 flowbite

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

Laravel Validator::validateDecimal 不存在

我不知道这个错误是如何发生的,因为我运行的是 laravel 9.28.0,它确实有 validateDecimal 验证器,而且它不是自定义验证器。

https://laravel.com/docs/9.x/validation#rule-decimal

这是我的要求:

declare(strict_types=1);

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class FairlingoOmzetRequest extends FormRequest
{
    public function rules(): array
    {
        return [
            'omzet' => [
                'required',
                'decimal:2',
                'min:0',
            ],
            'aantal_opdrachten' => [
                'required',
                'min:0',
                'int'
            ],
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试在互联网上寻找解决方案,但没有。

完整错误:

https://flareapp.io/share/bP98rqDm#F2

request laravel-9

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

语法错误,意外的标识符枚举 laravel

我正在使用 LARAVEL 9。我在 Enum 文件夹中创建枚举并在模型中访问。但是当我添加数据时我收到此错误

语法错误,意外的标识符“GenderEnum”

这是我的代码

性别枚举.php

<?php
namespace App\Enum;


enum GenderEnum:string
{
    case MALE = 'male';
    case FEMALE = 'Female';
}
Run Code Online (Sandbox Code Playgroud)

AdminSeeder.php

  $data = [
        'first_name' => 'Rishab',
        'last_name' => 'goyal',
        'email' => 'RISHABGOYAL@yopmail.com',
        'mobile_number' => '123',
        'role' => '1',
        'gender' => 'male',
        'password' => '123',
        'profile_photo' => '',
    ];
    Admin::addEdit($data);
Run Code Online (Sandbox Code Playgroud)

Admin.php(模型)

protected $casts = [
    'gender' => GenderEnum::class
];
Run Code Online (Sandbox Code Playgroud)

php mysql laravel laravel-9

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