小编PA-*_*-GW的帖子

MongoDB 存储问题(9001 已在使用)

我在尝试运行命令时收到此错误 mongod --dbpath=/var/lib/mongodb

{"t":{"$date":"2021-01-23T11:23:41.733-07:00"},"s":"I",  "c":"CONTROL",  "id":51765,   "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"20.04"}}}
{"t":{"$date":"2021-01-23T11:23:41.733-07:00"},"s":"I",  "c":"CONTROL",  "id":21951,   "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"storage":{"dbPath":"/var/lib/mongodb"}}}}
{"t":{"$date":"2021-01-23T11:23:41.734-07:00"},"s":"E",  "c":"STORAGE",  "id":20568,   "ctx":"initandlisten","msg":"Error setting up listener","attr":{"error":{"code":9001,"codeName":"SocketException","errmsg":"Address already in use"}}}
Run Code Online (Sandbox Code Playgroud)

我确实看到问题是 "attr":{"error":{"code":9001,"codeName":"SocketException","errmsg":"Address already in use"}}}

但我不知道如何解决这个问题?

我尝试了另一篇 SO 帖子中的其他建议,该建议说要终止进程并重新启动。我这样做了,但它对我不起作用。

我还尝试在不同的端口上运行 mongod

mongod --dbpath=/var/lib/mongodb --port 27019
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误

{"t":{"$date":"2021-01-23T11:27:29.535-07:00"},"s":"E",  "c":"STORAGE",  "id":20557,   "ctx":"initandlisten","msg":"DBException in initAndListen, terminating","attr":{"error":"IllegalOperation: Attempted to create a lock file on a read-only directory: /var/lib/mongodb"}}
Run Code Online (Sandbox Code Playgroud)

所以它是一个只读目录所以我跑了

sudo chmod -R 777 /var/lib/mongodb
Run Code Online (Sandbox Code Playgroud)

然后我在日志中收到此错误

"ctx":"initandlisten","msg":"DBException in initAndListen, terminating","attr":{"error":"DBPathInUse: Unable to lock the lock file: /var/lib/mongodb/mongod.lock (Resource temporarily …
Run Code Online (Sandbox Code Playgroud)

mongodb

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

最大执行超时 30 秒/Mbstring 错误 Laravel 6*

我正在 Laravel 6.2 中工作,并且有一个基本数据库,其中包含一个questions表,该表可返回 id、slug、标题、正文、时间戳。我设置了一条路线,questions调用一个控制器,该控制器查询数据库并将问题传递到视图index.blade.php,在这里我用分页显示问题。问题是我可以$questions->title很好地显示,但是当我尝试显示时,$question->body我不断收到特定的超时错误。我已经将 .ini 中的 max_execution 从 30 更改为 300,但没有效果。

具体错误

PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /home/projects/inquiry-app/vendor/symfony/polyfill-mbstring/Mbstring.php on line 603
Run Code Online (Sandbox Code Playgroud)

603行:

return (string) iconv_substr($s, $start, $length, $encoding);
Run Code Online (Sandbox Code Playgroud)

网页.php

Route::get('/', function () {
    return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('questions', 'QuestionsController');
Run Code Online (Sandbox Code Playgroud)

问题控制器

class QuestionsController extends Controller
{
    public function index()
    {
        $questions = Question::latest()->paginate(2);

        return view('questions.index', compact('questions'));
    }
}
Run Code Online (Sandbox Code Playgroud)

索引.blade.php

 @foreach($questions as $question) …
Run Code Online (Sandbox Code Playgroud)

php ini laravel laravel-blade

6
推荐指数
2
解决办法
5207
查看次数

在cypress.json中动态设置baseUrl

我有一个 Laravel 应用程序并引入了 Cypress 测试。在我的cypress.json文件中,我将baseUrl值设置为localhost:8000. 问题是 cypress 测试 baseUrl 将根据我所在的环境(本地、生产等)而改变,所以有没有办法baseUrl在文件中动态设置它cypress.json?我询问 Laravel 的情况,.env因为 baseUrl 或APP_URL已经设置在那里。

谢谢。

当前 cypress.json

  "baseUrl": "http://127.0.0.1:8000", //How to make this dynamic based on app environment?
  "chromeWebSecurity": false
Run Code Online (Sandbox Code Playgroud)

laravel cypress

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

Laravel 表单验证在表单错误时重定向回主页,而不是停留在同一页面

我有一个联系表单,提交后可以成功发送到数据库。问题是当我在网页上检查验证时。使用 Laravel $error 验证可以正确显示错误。问题是,当出现错误时,我的网页总是重定向回主页,而不是页面仍然显示错误。我必须继续向下滚动到我的联系表所在的位置才能看到错误;这会惹恼我未来的用户。如果出现错误,如何使页面保持在原来的位置?注意:当表单有效并提交时,我的页面会正确重定向。这不是问题。注 2:我创建了一个单页网页,导航链接会将您带到该网页。没有重定向。相反,它是一个 HTML 页面。

网页.php

Route::get('/', 'HomeController@index')->name('home');
Route::post('/contact/submit', 'MessagesController@submit');
Run Code Online (Sandbox Code Playgroud)

消息控制器.php

namespace App\Http\Controllers;

use App\Message;
use Illuminate\Http\Request;

class MessagesController extends Controller
{
    public function submit(Request $request)
    {
        $validatedData = $request->validate([
            'name' => 'required|min:2',
            'email' => 'required|max:255',
            'phonenumber' => 'required|min:10|max:10',
            'message' => 'required|min:5',
        ]);

        Message::create($validatedData);

        return redirect('/')->with('success', 'Your message has been 
            successfully sent. We will reach out to you soon');
    }
}
Run Code Online (Sandbox Code Playgroud)

contact.blade.php

{{--CONTACT FORM--}}
<section id="contact">
    <div class="container-fluid padding">
        <div class="row text-center padding">
            <div class="col-12">
                <h2 class="lead display-3">Contact …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-blade

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

用户使用Laravel提交联系表单时接收电子邮件

我目前有一个带有联系表的Laravel应用程序。提交表单后,用户名,电子邮件,电话号码和消息均正确存储在我的数据库中,该用户收到确认电子邮件,并且我没有收到任何错误。我的问题是,作为拥有表单的人,我如何使用Laravel接收用户名和邮件到我的gmail帐户?我正在使用gmail smtp发送电子邮件给提交表单的用户。我希望将用户联系表单信息(仅是姓名和消息)发送到我的Gmail电子邮件中。

MessagesController.php

    <?php
namespace App\Http\Controllers;
use App\Mail\MessageCreated;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use App\Message;
use Illuminate\Support\Facades\Mail;

class MessagesController extends Controller
{
    public function submit(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'name' => 'required|min:2',
            'email' => 'required|max:255',
            'phonenumber' => 'required|min:11',
            'message' => 'required|min:5',
        ]);


        if ($validator->fails()) {
            return redirect(url()->previous() . '#contact')
                ->withErrors($validator)
                ->withInput();
        }

        $message = Message::create($request->all());

        Mail::to($message->email)->queue(
            new MessageCreated($message)
        );


        return redirect('/')->with('success', 'Your message has been 
            successfully sent. We will reach out to you soon');
    }
}
Run Code Online (Sandbox Code Playgroud)

型号:Message.php

    <?php

namespace …
Run Code Online (Sandbox Code Playgroud)

php smtp laravel laravel-blade

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

Props watch 在 Vue 组合 api 中不起作用

我有一个state对象作为另一个组件的道具传递。我收到了state预期的结果。然后我将其存储props在 a 中toRef()以进行反应。

我想要发生的是当数据发生state变化时,我希望浏览器中的数据进行更新。现在,数据确实在 vue 开发工具中更新,并且我确实看到了state对象更改,但浏览器不会反映更改,直到我手动刷新浏览器,这是一个不希望的结果。

为什么会发生这种情况:

成分:

<template>
      <div class="show-products">
        <Product
            v-for="data in products"
            :key="data.id"
            :product="data"
        />
      </div>
 </template>

<script>
import {computed, onMounted, toRefs, watch } from "vue";
import {useStore} from "vuex";
    
    export default {
      components: {Product},
      props: {
        state: Object
      },
      setup (props) {
        const store = useStore();
        const products = computed(() => store.getters.getProducts);
    
        let stateRef = toRefs(props).state;
    
        onMounted(() => {
          store.dispatch('getProducts');
        });
    
        watch(stateRef, (currentState, prevState) …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs3 vue-composition-api

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

提供注入在 vue 3 组合 API 中无法正常工作

我正在使用 Vue 3 组合 api 并通过检索天气数据,async/await fetch并在 Chrome 开发工具中收到 200 响应和请求中的数据。

在接收数据并进行调用的组件中,我有一个provide方法,然后我将inject数据放入另一个输出组件中。问题出在inject组件上。ed 变量的值inject始终为 null,并且不会在 Vue 开发工具中更新,因此我的数据永远不会输出到屏幕。我浏览了文档,代码几乎相同,但我无法让它工作。任何人都可以看到一个明显的问题吗?

接收组件

setup () {
    async function getCurrentWeather () {
      const response = await fetch(`${baseWeatherApiUrl}q=${userInput.value}`);

      userInput.value = null;

      return weatherData.value = await response.json();
    }

    const returnedWeatherData = reactive(weatherData);

    provide('returnedWeatherData', returnedWeatherData);

    return {
      getCurrentWeather,
      userInput,
      weatherData
    }
  }
Run Code Online (Sandbox Code Playgroud)

输出组件

setup () {
    //Provide default of empty object in case no results exist
    const weatherData = inject('returnedWeatherData'); …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs3 vue-composition-api

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

如何全局忽略 git 中的 .idea/ 文件夹(不仅仅是将其添加到 .gitignore)

O.,我想知道是否有办法全局忽略我机器上的 .idea 文件夹?我的项目中没有或不需要 .gitignore 文件,但令人恼火的是,在尝试添加和提交实际更改时 .idea/ 文件夹不断出现。

任何的想法?

windows git global

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

如何在 Laravel 中实例化 vue 3 应用程序而不使用父 App.vue?

我正在 Laravel 8.x 应用程序中工作,并且安装 vue 2.6.12 的时间最长。我正在努力升级以将 Vue 3 与 laravel 一起使用,并与 Webpack 一起使用。我已经更新了我的package.json脚本并安装了以下内容以实现 Vue 3 兼容性:

{
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },
    "devDependencies": {
        "bootstrap": "^4.5.2",
        "jquery": "^3.4",
        "laravel-mix": "^6.0.39",
        "laravel-mix-polyfill": "^2.0.0",
        "vue-loader": "^16.8.3"
    },
    "dependencies": {
        "@vue/compiler-sfc": "^3.2.24",
        "jquery-validation": "^1.17.0",
        "jquery.nicescroll": "^3.7.6",
        "jquery.scrollto": "^2.1.2",
        "mdb-vue-ui-kit": "^1.7.0",
        "sass": "^1.21.0",
        "sass-loader": "^7.1.0",
        "vue": "^3.2.24",
        "vue-moment": …
Run Code Online (Sandbox Code Playgroud)

laravel vue.js vuejs3

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

无法在 Swagger-ui-express npm 的授权标头中发送承载令牌

我正在运行express/node 应用程序并使用"swagger-ui-express": "^4.5.0",. 我已经设置了一个要求,即需要将jsonwebtoken不记名令牌与所有请求一起发送到我的 api 中的任何端点。

我已经加载了 swagger 文档并正常工作,但现在当试图弄清楚如何将其传递Authorization: Bearer <token>到我的所有端点时,它似乎不起作用。我可以添加securitySchemes+ 子选项,并在我的 swagger 文档中获得绿色Authorize按钮,但是当我输入不记名令牌并发送请求时,加载旋转器会继续旋转并且从不发送请求。我morgan在我的应用程序中设置了日志记录,因此我可以看到对我的端点的请求永远不会被发送或记录。

如何向从 swagger UI 发送的请求发送不记名令牌?

在 app.js 中,我有一条可以在 localhost 中正确加载的路由

// Single entry point for swagger docs
router.use(
  '/swaggerDocs',
  swaggerDoc.serve,
  swaggerDoc.setup(swaggerDocumentation),
);
Run Code Online (Sandbox Code Playgroud)

swaggerDocumentation来自上面的代码片段(配置文件)。

import getCountryRegions from './getCountryRegions.doc.js';

export default {
  openapi: '3.0.3',
  info: {
    title: 'Node/express rest api app',
    version: '0.0.1',
  },
  components: {
    securitySchemes: {
      bearerAuth: {
        type: 'http',
        in: 'header', …
Run Code Online (Sandbox Code Playgroud)

node.js swagger swagger-ui openapi

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

如何在邮递员中传递带有多个双引号的对象和原始 JSON

我有一个端点需要一个加密值,我正在尝试在 Postman 中进行测试,但无法弄清楚如何发送它,因为它有多组双引号。如何正确转义引号,以便请求可以在帖子正文中作为原始 JSON 发送。

正在尝试发送

{
   "data": "a:{"iv":"abcdeg1234567","encryptedData":"c37590bb7c5ce..."}"
}
Run Code Online (Sandbox Code Playgroud)

如果按上述方式在 Postman Body/raw 中发布,则会出错。我尝试过使用\\\或加倍引号""some value"",但它不适用于我想作为字符串发送的对象。

我尝试了此处显示的解决方案: https: //sqa.stackexchange.com/questions/42483/how-to-send-double-quotes-in-postman-csv-data-file,但它们对我不起作用尝试发送不同的数据。

formatting json postman

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