我正在尝试让 https 在我的 Vite 本地主机环境中工作。Chrome 显示无效证书错误。
我已经像这样设置了 vite.config.js 文件:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import fs from 'fs';
export default defineConfig({
resolve: { alias: { '@': '/src' } },
plugins: [vue()],
https: {
key: fs.readFileSync('RootCA-key.pem'),
cert: fs.readFileSync('RootCA.pem')
}
})
Run Code Online (Sandbox Code Playgroud)
当我运行它时npm run dev -- --https,它按预期工作,我没有从 Vite 收到任何问题。但是,Chrome 显示无效证书。
我使用 openssl 创建证书文件,这给了我 .crt、.pem 和 .key 文件。它们都不是二进制的,因此我将 .key 文件重命名为 RootCA-key.pem。我尝试使用 RootCA.pem 文件作为证书,并将 RootCA.crt 文件重命名为 RootCA-cert.pem 并将其用作证书。
作为临时解决方法,我在 Chrome 中启用了不安全的本地主机 (chrome://flags/#allow-insecure-localhost),这至少消除了警告。
该实例已停止,它是 VPC 实例(非经典实例),并且具有 EBS 卷。Linux2 AMI。由于某种原因,无法修改实例类型。我需要将实例类型从 t2.micro 升级到 t2.small 或 t2.medium。
看到这个问题似乎很相似,但我不知道如何判断实例是32位还是64位图像。
在使用 auth0 PHP SDK 进行身份验证后,我正在努力获取用户信息。这是在我的本地主机上使用 ngrok。我只是使用 SDK 中的基本示例文件,我可以正常登录。但是,登录后,当它重定向到我的回调 url 并尝试交换身份验证代码时,我收到“未经授权”的 401 错误。
这是 wamp 中的错误:
在日志中,我可以看到登录成功,但是在尝试交换身份验证代码时,它失败了。
我还可以确认我正在获取查询参数中的代码和状态:
https://myurl.ngrok.io/auth/?code=ygKukP3B5_xk0pbb&state=5ae5b7a643aa46.52329844
Run Code Online (Sandbox Code Playgroud)
在尝试使其工作时,我对示例文件进行了一些轻微修改,但我认为这不是罪魁祸首。以防万一,这里是代码:
require 'vendor/autoload.php';
//require 'dotenv-loader.php';
use Auth0\SDK\Auth0;
$domain = 'mydomain.auth0.com';
$client_id = 'MYCLIENT';
$client_secret = 'MYSECRET';
$redirect_uri = 'https://myurl.ngrok.io/auth/';
$auth0 = new Auth0([
'domain' => $domain,
'client_id' => $client_id,
'client_secret' => $client_secret,
'redirect_uri' => $redirect_uri,
'persist_id_token' => true,
'persist_refresh_token' => true,
'audience' => 'https://mydomain.auth0.com/userinfo',
'scope' => 'openid profile'
]);
if (isset($_REQUEST['logout'])) {
$auth0->logout();
session_destroy();
header("Location: /");
die();
}
if(isset($_REQUEST['code'])) {
$userInfo = …Run Code Online (Sandbox Code Playgroud) 每当我对使用 asyncio 和 aiohttp 访问的 API 执行超过 200 个请求时,我都会收到 aiohttp client_exception.ServerDisconnectedError。它似乎不是我的代码,因为它与较少数量的请求一致地工作,但在任何较大数量上都失败。试图了解此错误是否与 aiohttp、我的代码或 API 端点本身有关?网上似乎没有太多关于这个的信息。
Traceback (most recent call last):
File "C:/usr/PycharmProjects/api_framework/api_framework.py", line 27, in <module>
stuff = abc.do_stuff_2()
File "C:\usr\PycharmProjects\api_framework\api\abc\abc.py", line 72, in do_stuff
self.queue_manager(self.do_stuff(json_data))
File "C:\usr\PycharmProjects\api_framework\api\abc\abc.py", line 115, in queue_manager
loop.run_until_complete(future)
File "C:\Python36x64\lib\asyncio\base_events.py", line 466, in run_until_complete
return future.result()
File "C:\usr\PycharmProjects\api_framework\api\abc\abc.py", line 96, in do_stuff
result = await asyncio.gather(*tasks)
File "C:\usr\PycharmProjects\api_framework\api\abc\abc.py", line 140, in async_post
async with session.post(self.api_attr.api_endpoint + resource, headers=self.headers, data=data) as response:
File "C:\Python36x64\lib\site-packages\aiohttp\client.py", line 843, in …Run Code Online (Sandbox Code Playgroud) 我刚刚开始尝试使用 AWSglue,并且已经成功地将数据从 Aurora MySQL 环境提取到 PostgreSQL 数据库中。当爬虫为我正在试验的表创建数据目录时,所有列都乱序,然后当作业创建目标表时,列再次乱序,我假设因为它是基于爬虫生成的内容。如何使目录中的表结构与源数据库中的表结构相匹配?
我正在尝试解决此错误:RuntimeError: Cannot close a running event loop在我的异步过程中。我相信这是因为在任务仍未完成时发生故障,然后我尝试关闭事件循环。我以为我需要在关闭事件循环之前等待其余的响应,但是我不确定如何在我的特定情况下正确完成该操作。
def start_job(self):
if self.auth_expire_timestamp < get_timestamp():
api_obj = api_handler.Api('Api Name', self.dbObj)
self.api_auth_resp = api_obj.get_auth_response()
self.api_attr = api_obj.get_attributes()
try:
self.queue_manager(self.do_stuff(json_data))
except aiohttp.ServerDisconnectedError as e:
logging.info("Reconnecting...")
api_obj = api_handler.Api('API Name', self.dbObj)
self.api_auth_resp = api_obj.get_auth_response()
self.api_attr = api_obj.get_attributes()
self.run_eligibility()
async def do_stuff(self, data):
tasks = []
async with aiohttp.ClientSession() as session:
for row in data:
task = asyncio.ensure_future(self.async_post('url', session, row))
tasks.append(task)
result = await asyncio.gather(*tasks)
self.load_results(result)
def queue_manager(self, method):
self.loop = asyncio.get_event_loop()
future = …Run Code Online (Sandbox Code Playgroud) 我试图在我的 laravel 项目中使用 moment.js,而不是使用 vue,但仍然通过 npm 导入包。
我的 app.js 文件:
require('moment/moment.js');
require('./bootstrap');
require('bootstrap-select');
Run Code Online (Sandbox Code Playgroud)
在我的 webpack.pix.js 文件中看起来像这样:
const mix = require('laravel-mix');
mix.setResourceRoot('laravel/public');
mix.js('resources/js/app.js', 'public/js')
.combine([
'resources/theme/dist/js/app.js',
'resources/theme/dist/js/app.init.js',
'resources/theme/dist/js/sidebarmenu.js',
'resources/theme/dist/js/waves.js',
'resources/theme/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js',
'resources/theme/assets/extra-libs/sparkline/sparkline.js',
'resources/theme/dist/js/custom.js',
'resources/js/custom.js'
], 'public/js/nice-admin.js')
.copyDirectory('resources/theme/assets/images/', 'public/assets/images')
.copyDirectory('resources/theme/dist/css/icons/material-design-iconic-font/fonts', 'public/fonts')
.copy('node_modules/bootstrap-daterangepicker/daterangepicker.css', 'public/css/daterangepicker.css')
.copy('node_modules/bootstrap-select/dist/css/bootstrap-select.min.css', 'public/css/bootstrap-select.min.css')
.sass('resources/sass/app.scss', 'public/css', {
implementation: require('node-sass')
}).options({processCssUrls: false})
Run Code Online (Sandbox Code Playgroud)
然后在我的 custom.js 文件中,我刚刚得到了这个:
$(function() {
"use strict";
let date = moment().format();
console.log(date);
});
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
app.js:13202 Uncaught ReferenceError: moment is not defined
at HTMLDocument.<anonymous> (nice-admin.js:2144)
at mightThrow (app.js:12909)
at process (app.js:12977)
Run Code Online (Sandbox Code Playgroud)
我已经验证了那个时刻在我编译的 …
我在用aiohttp / asyncio做错了。当我尝试run_my_job()一次循环运行另一个文件时,如果我一次性运行它,则下面的代码可以正常工作:
main.py
========================================
count = 0
batch_count = math.ceil((abc.get_count()/100))
print("there are {} batches to complete.".format(batch_count))
while count < batch_count:
print("starting batch {}...".format(count))
abc.run_my_job()
print("batch {} completed...".format(count))
count += 1
abc.py
===============================
def run_my_job(self):
self.queue_manager(self.do_stuff(all_the_tasks))
def queue_manager(self, method):
print('starting event queue')
loop = asyncio.get_event_loop()
future = asyncio.ensure_future(method)
loop.run_until_complete(future)
loop.close()
async def async_post(self, resource, session, data):
async with session.post(self.api_attr.api_endpoint + resource, headers=self.headers, data=data) as response:
resp = await response.read()
return resp
async def do_stuff(self, data):
print('queueing tasks')
tasks …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Laravel Sail 在本地处理现有项目。我不断收到 1049 未知数据库错误。我尝试过以下方法:
sail php artisan config:clear
sail php artisan config:cache
Run Code Online (Sandbox Code Playgroud)
我还尝试将 mysql 替换为使用 127.1.1.0 的主机,例如 .env.example 文件,但没有成功。
我也尝试过重建容器,但似乎没有解决问题。
这是我的 .env 文件(当我尝试使用 root 以外的用户时,我收到 1045 错误,指出访问被拒绝,想知道这些是否相关):
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Run Code Online (Sandbox Code Playgroud)
这是我的 docker-compose.yml 文件:
mysql:
image: 'mysql:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- 'sailmysql:/var/lib/mysql'
networks:
- sail
Run Code Online (Sandbox Code Playgroud)
数据库配置:
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' …Run Code Online (Sandbox Code Playgroud) 我使用 livewire 全页组件来显示任务列表以及所有关联的 CRUD 内容,并使用 Dragula 来允许拖放。
我最初通过 TaskListComponent 运行所有这些,并且在使某些功能正常工作时遇到困难,所以我现在有一个仅处理任务本身的子组件。因此,有一个 TaskListComponent 就是页面,然后我有一个在 foreach 循环中添加到页面的 TaskComponent。我的想法是,所有任务列表类型功能都将发生在主组件中,并且与特定任务(显示、更新、删除等)相关的任何内容都将在 TaskComponent 中。告诉我你是否会这样构建它?
我现在的问题是,基于该结构,我有一些在页面上运行的 JavaScript 来侦听 Dragula 放置事件并处理任务的重新排序/更改状态,它依赖于元素 ID,但由于我将每个任务设置为 livewire组件现在元素 id 被替换为wire:id,它是一些哈希值。我不知道如何在 javascript 中访问它并获取原始的 html 元素 ID。
这是我的刀片文件中的内容:
@foreach ($tasks as $task)
@if ($task->task_status_id === $status->id)
<livewire:tasks.task-component wire:key="{{ $task->id }}" :task="$task" data-task-id="{{ $task->id }}" />
@endif
@endforeach
Run Code Online (Sandbox Code Playgroud)
这是使用 Dragula 的 js 代码:
drag.on('drop', function(el, target, source, sibling) {
console.log(el);
});
Run Code Online (Sandbox Code Playgroud)
上面的console.log输出:
<div wire:id="1pPdyV6eX8kgtePfXBzk" ...></div>
Run Code Online (Sandbox Code Playgroud)
抱歉,我知道这是一个菜鸟问题,但从文档中并不清楚如何达到我想要的目标。我尝试过使用 Livewire.find() 但它返回未定义。我可以在控制台中使用 Livewire 命令,所以我知道它可用。
也可能相关的是,我调用的任何类型的$wire命令都表示 $wire 未定义。我在 app.js 文件中找到了这个文件,该文件是在 …
aiohttp ×3
laravel ×2
laravel-8 ×2
php ×2
python ×2
python-3.6 ×2
amazon-ec2 ×1
amazon-rds ×1
auth0 ×1
aws-glue ×1
docker ×1
https ×1
javascript ×1
laravel-mix ×1
laravel-sail ×1
mysql-8.0 ×1
npm ×1
python-3.x ×1
ssl ×1
vite ×1