小编Mar*_*mal的帖子

PHP 7.0上的Laravel 5.4:PDO异常 - 找不到驱动程序(MySQL)c

我在我的Ubuntu 14.04上有一个Laravel 5.4项目(VPS与Plesk 12.5.30).创建数据库并设置.env文件时,我运行了所需的信息php artisan migrate并抛出了异常:

[Illuminate\Database\QueryException]
找不到驱动程序(SQL:select*from information_schema.tables where table_schema = pmaramaldb and table_name = migrations)

[PDOException]
找不到驱动程序

我的.env文件有:

DB_CONNECTION = MySQL的

DB_HOST = 127.0.0.1

DB_PORT = 3306

DB_DATABASE = pmaramaldb

DB_USERNAME =用户

DB_PASSWORD =密码

我已经按照大部分指南来解决这个错误,并没有任何积极的结果:

启用扩展解决方案:

PDO已启用

php.ini中被自动生成的文件,我想这是做的Plesk.在文件的开头,它说:

; 注意!
;
; 不要修改这个文件,因为它是自动生成的,
; 因此,您所有的更改将在下一次丢失时生成文件.

所以无论如何我都试过了.之后我重新启动了Apache,然后再次尝试......没有用.

安装php7.0-mysql解决方案:

我也试过安装MySQL以防万一:

user @ server:/ var/www/vhosts $ sudo apt-get install php7.0-mysql

Leyendo lista de paquetes ... Hecho

Creandoárboldedependencias

Leyendolainformacióndeestado ... Hecho

php7.0-mysql已经是最新版本了.

0 actualizados,0seinstalarán,0 …

php mysql pdo laravel laravel-5

25
推荐指数
5
解决办法
7万
查看次数

Mocha + TypeScript:不能在模块外使用 import 语句

我正在观看此视频以了解如何向 Express 路由添加一些简单的测试,但在执行测试时出现各种错误。错误是:

import * as chai from 'chai';

^^^^^^

语法错误:不能在模块外使用导入语句

我已经阅读了一些类似的 Stack Overflow 问题和 GitHub 问题,但我没有找到适合我自己的应用程序的解决方案。最后我在 GitHub 上找到了关于 ES 模块的Mocha 文档,但它没有用:

我使用 TypeScript 和 CommonJS 模块创建了应用程序进行转译,所以我添加"test": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha src/test/*.ts"package.json脚本中,但每次都遇到相同的错误。我ts-node用作服务器。

无论如何,这是我的tsconfig.json文件:

{
    "compilerOptions": {
        "sourceMap": true,
        "target": "es6",
        "module": "commonjs",
        "outDir": "./dist",
        "rootDir": "./src"
    },
    "exclude": [
        "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是src/test/mi-route.ts文件:

import * as chai from 'chai';
import * as chaiHttp from 'chai-http'; …
Run Code Online (Sandbox Code Playgroud)

javascript mocha.js node.js typescript ecmascript-6

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

Apollo Server - GraphQL 错误:只能有一种名为“查询”的类型

我是 GraphQL 的新手。我正在遵循 Internet 上的几个指南,以“创建”一个使用 Apollo Server + Express + GraphQL + MongoDB 的小应用程序。

  • 我试图复制这个YT指南(他创造root.js上的文件类型定义文件夹)。
  • 这一个用于测试目的。
  • 这一次,以确保我的文件夹结构是正确的。

编译时我从 GraphQL 得到:

错误:只能有一种名为“用户”的类型。

错误:只能有一种名为“查询”的类型。

我的代码结构如下:

  • 配置
  • 楷模
  • 解析器
    • 索引.js
    • 用户.js
  • 类型定义
    • 索引.js
    • 根.js
    • 用户.js
  • 索引.js

到目前为止,我的代码如下所示:

typeDefs/user.js

import { gql } from 'apollo-server-express';

const user = gql`
    type User {
        id: ID!
        name: String
        email: String
        password: String
    }

    type Query {
        getUsers: [User]
    }

    type Mutation {
        addUser(name: String!, email: String!, …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express graphql apollo-server

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

Laravel + Vue + Axios 问题与 POST 方法

我正在研究一个存储在 VPS 上的 Laravel 5.6 项目(我们称之为“生产”,尽管没有这样的创建环境)。

我们还结合了 Plesk 和 Github,手动将 Web 应用程序从我们的本地环境部署到服务器。

问题是,当我从API的加载一些数据,他们返回不允许方法(错误405 GET)......但他们实际上被注册为POSTapp.jsroutes/api.php

最棒的是,在我当地的环境中,它们可以完美运行。

这里有一些信息:

服务器:

  • Ubuntu 服务器 14.04
  • 阿帕奇/MySQL
  • PHP 7.2.5

我的电脑:

  • 带有 XAMPP 的 Windows 10
  • 阿帕奇/MySQL
  • PHP 7.2.2

每个浏览器中的开发者工具:

请求方法: GET
状态代码: 405 不允许的方法

这是其中的代码app.js

loadCountries: function loadCountries(total) {
    axios.post('/api/properties/countries/').then(function (response) {
        app.countries = response.data;
    });

    total = total <= this.countries.length ? total : this.countries.length;

    if (total) {
        var newArr = [];
        for (i = 0; …
Run Code Online (Sandbox Code Playgroud)

php plesk laravel vue.js axios

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

使用 Api-Platform 时,为什么会出现“没有与类型关联的项目路径”?

我的项目是在 Symfony 5 和 API-Platform 中构建的,以便从 JS 客户端使用它。在这种情况下,我有一个Question与实体相关的Answer实体(分别是一对多)。

每当我尝试打电话/api/questions/api/answers收到此错误时:“没有与类型“App\Entity\Answer”相关联的项目路由

为了 API 资源,这是我使用 maker bundle 配置的内容:

- App\Entity\Question

/**
 * @ORM\Entity(repositoryClass=QuestionRepository::class)
 * @ApiResource
 * @ApiFilter(SearchFilter::class, properties={"status": "exact"})
 */
class Question
{
    // ...
    /**
     * @ORM\ManyToOne(targetEntity=User::class, inversedBy="questions")
     * @ORM\JoinColumn(nullable=false)
     */
    private $owner;

    // ... 

    /**
     * @ORM\OneToMany(targetEntity=Answer::class, mappedBy="question", orphanRemoval=true)
     */
    private $answers;

    // ...

    /**
     * @return Collection|Answer[]
     */
    public function getAnswers(): Collection
    {
        return $this->answers;
    }

    public function addAnswer(Answer …
Run Code Online (Sandbox Code Playgroud)

php symfony api-platform.com

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

Express:请求的模块不提供名为“用户”的导出

我正在使用Nodemon和 ESM 模块在Express + Mongoose项目上使用 ES6 语法。编译时出现此错误:

SyntaxError:请求的模块“file:///.../models/User.js”不提供名为“User”的导出

我的模型文件 (models/User.js) 如下所示:

import mongoose, { Schema } from 'mongoose';

const userSchema = new Schema({
  name: String,
  email: String,
  password: String,
  type: String,
  createdOn: String,
  updatedOn: String
});

const User = mongoose.model('user', userSchema);

module.exports = { User };
Run Code Online (Sandbox Code Playgroud)

然后我导入它:

import { User } from '../models/User';
import bcrypt from 'bcrypt';

export default {
    Query: {
        getUsers: async () => await User.find({}).exec()
    },
    Mutation: {
        addUser: async (_, args) …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose database-schema express ecmascript-6

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

TypeScript 中的 useParams 不允许解构

我正在关注这个视频(“JWTUser Sessions with ReactJS & GraphQL...”),当时这个家伙useParams()react-router-dom解构了方法库中。

就我而言,这不起作用,因为我收到此错误:

这是此时的全部代码:

import React, { useState, useContext } from 'react';
import { useParams, useHistory } from 'react-router-dom';
import { useConfirmMutation } from '../gql/generated/graphql';
import { AppStateContext } from './provider';

export const Confirm: React.FC = () => {
    const history = useHistory();
    const { appSetAuthToken, appClearAuthToken, gqlError } = useContext(AppStateContext);

    const [show, setShow] = useState(false);
    const [email, setEmail] = useState('');
    const [confirm] = useConfirmMutation();
    const { …
Run Code Online (Sandbox Code Playgroud)

javascript destructuring typescript reactjs react-router

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

React Material UI +路由器重定向按钮

我正在尝试使用Material-UI进行React,但是我不确定重定向到其他页面/组件的正确方法。

我已经阅读了几个有关使用重定向的不同方法的站点react-router-dom,但仍然没有“最终”方法。

history.push

使用无效的方法之一props.history.push('/some-route')。我得到的history是不确定的。我也尝试通过以下方式进行访问props.history

import React, { Fragment } from 'react';
import { Button } from '@material-ui/core';

const Page = props => {
    const { history } = props;

    return (
        <Fragment>
            <Button
                variant="contained"
                color="primary"
                size="large"
                onClick={() => history.push('/some-route')}
            >My Button</Button>
        </Fragment>
    );
};

export default Page;
Run Code Online (Sandbox Code Playgroud)

重定向组件

对我不起作用的另一种方法是使用相同的react-router-dom重定向组件。在这里我没有收到任何错误,单击时它什么也没做:

import React, { Fragment } from 'react';
import { Button } from '@material-ui/core';
import { Redirect } from 'react-router-dom';

const …
Run Code Online (Sandbox Code Playgroud)

javascript jsx reactjs react-router material-ui

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

反应 useEffect() 无限循环

我试图复制一个个人项目以在加载数据时设置 Spinner 加载器,但我之前遇到了另一个错误。

我正在阅读类似这样的其他问题,为了避免useEffect()无限循环,我必须在最后添加一个空数组,但仍然不起作用。

这是我的代码,尽管添加了空数组,但它只是无限地重新渲染。

src/components/Users.js

import React, { useState, useEffect, useContext } from "react";
import GlobalContext from "../context/Global/context";

export default () => {
  const context = useContext(GlobalContext);
  const [users, setUsers] = useState([]);

  async function getUsers() {
    context.setLoading(true);
    const response = await fetch("https://jsonplaceholder.typicode.com/users");
    if (response.ok) {
        context.setLoading(false);
        const data = await response.json();
        setUsers(data);
    } else {
        console.error('Fetch error');
    }
  }

  useEffect(() => {
    getUsers();
  }, []);

  return (
    <ul>
      {users.map(user => (
        <li key={user.id}>{user.name}</li>
      ))}
    </ul> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

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

Passport + Express + Typescript req.user.email 未定义

好了,我这有一个类似的问题这一个(我知道这是类似于另一个)。但是req.user在我安装@types/passport之前是未定义的。

现在我在 VS Code 中遇到了这个问题,尽管我的服务器上有我的会话实例。

问题

问题

实例化

// Middlewares
app.use(bodyParser.urlencoded({ extended: false }));
app.use(logger(process.env.NODE_ENV === 'development' ? 'dev' : 'combined'));
app.use(express.json());
app.use(session({
    secret: process.env.NODE_ENV === 'development' ? process.env.SESSION_SECRET : 'secret',
    resave: false,
    saveUninitialized: true
}));
app.use(passport.initialize());
app.use(passport.session());
Run Code Online (Sandbox Code Playgroud)

上面没有错误。因此......该应用程序实际上可以工作......但我在我的 VSC 文件中得到了这种“错误颜色”,这是很好的避免。有什么建议?

以防万一,我将包含整个路由器文件:

// POST - Crear usuario
router.post('/', async (req: Request, res: Response) => {
    const resultado: IResultado = {
        data: null,
        ok: false
    };
    const messages: Array<object> = [];
    const datos: IUsuario = req.body; …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express typescript passport.js

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