我在我的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 =密码
我已经按照大部分指南来解决这个错误,并没有任何积极的结果:
启用扩展解决方案:
在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 …
我正在观看此视频以了解如何向 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) 我是 GraphQL 的新手。我正在遵循 Internet 上的几个指南,以“创建”一个使用 Apollo Server + Express + GraphQL + MongoDB 的小应用程序。
编译时我从 GraphQL 得到:
错误:只能有一种名为“用户”的类型。
错误:只能有一种名为“查询”的类型。
我的代码结构如下:
到目前为止,我的代码如下所示:
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) 我正在研究一个存储在 VPS 上的 Laravel 5.6 项目(我们称之为“生产”,尽管没有这样的创建环境)。
我们还结合了 Plesk 和 Github,手动将 Web 应用程序从我们的本地环境部署到服务器。
问题是,当我从API的加载一些数据,他们返回不允许方法(错误405 GET)......但他们实际上被注册为POST中app.js和routes/api.php。
最棒的是,在我当地的环境中,它们可以完美运行。
请求方法: 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) 我的项目是在 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) 我正在使用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) 我正在关注这个视频(“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) 我正在尝试使用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) 我试图复制一个个人项目以在加载数据时设置 Spinner 加载器,但我之前遇到了另一个错误。
我正在阅读类似这样的其他问题,为了避免useEffect()无限循环,我必须在最后添加一个空数组,但仍然不起作用。
这是我的代码,尽管添加了空数组,但它只是无限地重新渲染。
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) 好了,我这有一个类似的问题这一个(我知道这是类似于另一个)。但是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 ×7
express ×3
node.js ×3
php ×3
reactjs ×3
typescript ×3
ecmascript-6 ×2
laravel ×2
react-router ×2
axios ×1
graphql ×1
jsx ×1
laravel-5 ×1
material-ui ×1
mocha.js ×1
mongoose ×1
mysql ×1
passport.js ×1
pdo ×1
plesk ×1
react-hooks ×1
symfony ×1
vue.js ×1