我需要在 Laravel 8 中禁用我的注册路由。试过
Auth::routes([
'register' => false,
'login' => false,
]);
Run Code Online (Sandbox Code Playgroud)
但是应用程序抛出了一个错误。
RuntimeException
In order to use the Auth::routes() method, please install the laravel/ui package.
Run Code Online (Sandbox Code Playgroud)
如果有人指出需要改变的地方,将不胜感激。
谢谢
嗨,我刚刚尝试安装带有风帆的 Laravel 8,但遇到了问题
我所做的是首先从 Laravel 自己的页面运行 curl one-liner
curl -s https://laravel.build/sail-test | bash
Run Code Online (Sandbox Code Playgroud)
一旦完成我就按照它说的运行
cd sail-test && ./vendor/bin/sail up
Run Code Online (Sandbox Code Playgroud)
一切都按原样开始,我可以连接到数据库,我可以在 http://localhost 上看到该站点,但是在尝试迁移时出现以下错误:
$ sail artisan migrate:install
Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] No route to host (SQL: create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:678
674? // If an exception occurs when attempting to run a query, we'll format the error
675? // message …Run Code Online (Sandbox Code Playgroud) 我刚刚按照他们的文档中的说明创建了一个新的 Laravel 8 项目。使用Laravel Sail我在我的机器上本地运行该站点,使用sail up. 我设置了一个条目/etc/hosts,因此URL我去的是http://local.dev.domain.com(取代domain.com了我自己的实际域名,并指向localhost了在/etc/hosts文件中)......所有的伟大工程。
但是,该站点需要使用 Facebook 登录,而 Facebook 仅在推荐人上需要 https 网址。我已经尝试了所有可以在网上找到的有关mkcert使用 docker设置 SSL 证书的方法,但是使用手动创建的证书(通过)设置 nginx或尝试使用 letencrypt 都因各种原因而失败(端口冲突,letsencrypting 希望域成为一个真正的(和失败,如果我做创建一个子域极致挑战),我复制证书要等/etc/ssl/certs泊坞窗图像和运行中update-ca-certificates,尝试设置应用程序端口443在我的.env文件,以及打开两个端口80,并443在docker-compose.yml文件...但一切都以浏览器拒绝请求而告终https://local.dev.domain.com
我花了几个小时试图让它工作,但似乎没有人使用带有 SSL 的 Laravel Sail docker 镜像。
任何指针?
[编辑以获取更多信息] 正如评论中所指出的,您需要将别名设置为仅使用sail ...,但我已经这样做了:
我也试过不使用 bash 别名vendor/bin/sail share,但无济于事:
问题: 因此,每当我单击激活 Javascript 代码的 HTML 按钮时,我都会在控制台中收到错误消息,指出: POST http://127.0.0.1:8000/ payment 419 (未知状态)
我尝试过的
我尝试了不同的方法来让变量工作,用视图 JSON_ENCODE() 返回它,我一直在尝试研究如何在 Laravel 中使用 fetch,我觉得我错过了一些明显的东西。
这是我的 HTML 和 JavaScript 代码:
<form action="/payment" method="POST">
@csrf
<button class="btn btn-primary py-3 px-4" id="checkout-button">Proceed to Checkout</button>
<script type="text/javascript">
// Create an instance of the Stripe object with your publishable API key
var stripe = Stripe('pk_test_*******************');
var checkoutButton = document.getElementById('checkout-button');
checkoutButton.addEventListener('click', function() {
// Create a new Checkout Session using the server-side endpoint you
// created in step 3.
fetch('/payment', {
method: …Run Code Online (Sandbox Code Playgroud) Illuminate\Database\QueryException SQLSTATE[42S02]:未找到基表或视图:1146 表“cloud18i_dbpethu.sessions”不存在(SQL:select * from sessionswhere id= qsRvWKYASahEiKfVp2UthleTtvxkEZlkb6rronAO limit 1)
我创建了一个新的 Laravel 8 项目,它附带了 Laravel Sail,一个预配置的 Docker 环境。它运行良好,直到我需要使用 PHP 扩展。
Laravel Sail 文档似乎没有提及任何有关 PHP 扩展的内容,这是一个重大问题。任何重要的 PHP 站点都必须使用多个 PHP 扩展。如果没有添加 PHP 扩展的能力,Laravel Sail(或任何其他 PHP 环境)或多或少是无用的。
中有 aDockerfile和 a 。我可以将这些文件从我自己的项目代码中复制出来或复制到我自己的项目代码中,然后破解指向这些文件的我的版本。但是,如果我这样做,我将失去 Laravel Sail 人员对这些文件所做的任何未来修复或改进。php.inivendor/laravel/sail/runtimes/8.0/vendordocker-compose.yml
我知道sail artisan sail:publish他们在 Laravel Sail 文档末尾提到的命令(https://laravel.com/docs/8.x/sail#sail-customization)。它似乎只是做了我上面提到的事情:将第三方代码复制到我的项目中,现在突然这个最终用户网站负责维护自己的 Laravel Sail 副本。
当然有一种惯用的方法可以在 Laravel Sail 中添加 PHP 扩展,而无需在我的站点代码中重新实现 Laravel Sail 的分支?
我的工作不知何故被多次解雇。我希望这项工作只开始一次。如果任何其他尝试在作业已经在队列中时运行该作业,我希望这些运行中止。
我已阅读 Laravel 8 文档,但不知道是否应该使用:
Queue\ShouldBeUnique(记录在这里: https: //laravel.com/docs/8.x/queues#unique-jobs)或Queue\Middleware\WithoutOverlapping
这里提到: https: //laravel.com/docs/8.x/queues#preventing-job-overlaps我相信第一个会中止后续运行该作业的尝试,而第二个则将其保留在队列中,只是确保它在第一个作业完成之前不会运行。有人能证实吗?
我在 Laravel 8 中收到此错误,并且安装了名称:PHP Intelephense 1.7.1。
<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
use Request;
class Authenticate extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string|null
*/
protected function redirectTo($request)
{
if (!$request->expectsJson()) {
if (Request::is('admin/*'))
return route('admin.login');
else
return route('login');
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试添加
use Illuminate\Support\Facades\Route;
Run Code Online (Sandbox Code Playgroud)
但仍然有什么想法吗?
感谢帮助 ...
我一直在使用 laravel scout 进行一些测试,并根据文档(https://laravel.com/docs/8.x/scout#configuring-searchable-data),我已将我的用户模型映射为这样:
/**
* Get the indexable data array for the model.
*
* @return array
*/
public function toSearchableArray()
{
$data = $this->toArray();
return array_merge($data, [
'entity' => 'An entity'
]);
}
Run Code Online (Sandbox Code Playgroud)
只是为了测试,这就是我在调试时得出的结论。
使用此映射导入用户模型后,我可以在 meilisearch 仪表板上看到它确实显示了用户数据 + 实体 = '一个实体'。
但是,应用此方法时:
User::search('something')->where('entity', 'An entity')->get()
它会产生以下错误:
"message": " --> 1:1\n |\n1 | entity=\"An entity\"\n | ^----^\n |\n = attribute `entity` is not filterable, available filterable attributes are: ",
"exception": "MeiliSearch\\Exceptions\\ApiException",
"file": "/var/www/api/vendor/meilisearch/meilisearch-php/src/Http/Client.php",
Run Code Online (Sandbox Code Playgroud)
回溯查看“可过滤属性”,我得出的结论是:
$client = app(\MeiliSearch\Client::class); …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Vercel 中部署 Laravel 8 项目,但是,我经常遇到此错误:
错误:构建完成后找不到名为“dist”的输出目录。您可以在项目设置中配置输出目录。
我已按照此处提到的步骤进行操作,但不幸的是它显示了相同的错误。以前有人遇到过这样的问题吗?
laravel-8 ×10
laravel ×6
php ×4
laravel-sail ×3
docker ×2
deployment ×1
fetch ×1
javascript ×1
jobs ×1
scheduling ×1
ssl ×1
vercel ×1