我目前正在使用官方php:7.4-apache
映像,我想将一些信息和错误记录到 docker 日志中。
我意识到 PHP 不直接记录,而是记录到 Apache2 服务器,因为这是解释 PHP 的服务器。
尽管如此,我还是尝试了使用官方 docker 文档中的信息的直接方法:
<?php
error_log('testlog', 3, '/proc/self/fd/1');
error_log('testerror', 3, '/proc/self/fd/2');
Run Code Online (Sandbox Code Playgroud)
这给了我一个“无法打开流,文件不存在”的警告。
我还注意到,简单地调用error_log('test')
会创建以下日志,而不会写入 stderr:
[Tue Nov 10 11:39:46.005650 2020] [php7:notice] [pid 17] [client 172.25.0.1:56576] test
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚是否有任何特殊的方法可以向 Apache2 stdout/stderr 发送消息,但我找不到任何有用的东西。
有没有办法实现这一点,或者这只是在容器中记录 PHP 的错误方法?
!!编辑:!!
到目前为止,我已经设法发现原始 Dockerfile 中的日志定义在此文件中处理为/dev/stderr
& /dev/stdout
。
我还发现了以下可能性:
error_log('test', 3, 'php://stdout');
error_log('testerr', 3, 'php://stderr');
Run Code Online (Sandbox Code Playgroud)
但这会产生以下输出:
> test
> 172.25.0.1 - - [18/Nov/2020:13:19:48 +0000] "GET / HTTP/1.1" 200 229 "-" "Mozilla/5.0 (Windows …
Run Code Online (Sandbox Code Playgroud) 在这里拉我的头发。
我是 React 新手,我的 css 中有我的字体系列,如下所示。在本地主机上一切都很好,但是当我部署时,Roboto 字体在 safari 或移动浏览器上不起作用......
任何帮助将不胜感激
谢谢
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: Roboto, sans-serif !important;
border: none;
}
Run Code Online (Sandbox Code Playgroud)
我也正在使用样式组件,我不太确定这是否与它有关。
这在 Apple 开发中经常出现——当使用 bitcode 提交到应用商店时,你当然必须包含完整的 bitcode ( -fembed-bitcode
)。但是有这种中间“标记”模式的原因是什么,它包括部分而不是位码本身?这一定是有原因的,为什么它经常被打开用于调试版本。
我试图了解如何将 an 传递Arc<Mutex<T>>
给另一个函数。这是我的代码,为了清楚起见,我删除了其中的一部分:
pub struct Pool {
inner: Arc<Mutex<PostgresDb>>,
}
fn main() {
let postgres: Arc<Mutex<PostgresDb>>; //removed creation of the instance
setup(&postgres)
}
fn setup(postgres: &Arc<Mutex<PostgresDb>>) -> () {
let pool = Arc::new(Pool::new(*postgres));
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
pub struct Pool {
inner: Arc<Mutex<PostgresDb>>,
}
fn main() {
let postgres: Arc<Mutex<PostgresDb>>; //removed creation of the instance
setup(&postgres)
}
fn setup(postgres: &Arc<Mutex<PostgresDb>>) -> () {
let pool = Arc::new(Pool::new(*postgres));
}
Run Code Online (Sandbox Code Playgroud)
我如何正确通过postgres
?
在启用 ufw 的 ubuntu 18.04 上,我运行 docker 容器,该容器应该将 django 应用程序连接到本地安装的 Postgresql 服务器。
禁用ufw后一切运行完美
docker-compose -f docker-compose.prod.yml run --rm app sh -c 'python manage.py createsuperuser'
Run Code Online (Sandbox Code Playgroud)
但是启用 ufw 后出现以下错误:
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: could not connect to server: Operation timed out
Is the server running on host "host.docker.internal" (172.17.0.1) and accepting
TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)
我有以下 ufw 规则
$ sudo ufw status
Status: active
To Action From
-- ------ ----
Nginx Full ALLOW Anywhere
OpenSSH ALLOW Anywhere …
Run Code Online (Sandbox Code Playgroud) 假设我有一个列表 li=['project1','project2','project3']
我想将这些值添加为字典的键,并且第一个键的值应该被完成,暂停
项目可以是任何一个,列表中第一个项目的值应该完成,需要等待输出:
dict={'project1':'completed','project2':'onhold','project3':'onhold'}
Run Code Online (Sandbox Code Playgroud)
li=['project1','project2','project3']
for trav_cont in li:
dict[trav_cont]='completed'
Run Code Online (Sandbox Code Playgroud) 我正在使用 Kotlin 学习 Android,并且我了解到在不阻塞主线程的情况下启动协程的推荐方法是执行以下操作
MainScope().launch {
withContext(Dispatchers.IO) {
// Do IO work here
}
}
Run Code Online (Sandbox Code Playgroud)
但我也想知道,如果调用下面不是因为它仍然使用会阻塞主线程Dispatchers.IO
runBlocking(Dispatchers.IO) {
// Do IO work here
}
Run Code Online (Sandbox Code Playgroud) 我有一个标准的 .Net core Api,想要使用 Open Generic IRepository 并用 DomainEventPublisher 装饰它,以便在持久化后将事件推送到 servicsBus。然而,我很早就使用过 Simple Injector,我是它的忠实粉丝。但现在使用 MediatR 时,我尝试仅使用 .net Core DI 和 Scrutor 包进行装饰来简化 DI。
问题是我收到的错误:“提供的泛型参数数量不等于泛型类型定义的数量。” 尝试在 Startup 中注册装饰器时来自 Scrutor(下面第二行)。
services.AddSingleton(typeof(IRepository<>), typeof(Repository<>));
services.Decorate(typeof(IRepository<>), typeof(DomainEventPublisher<>));
Run Code Online (Sandbox Code Playgroud)
我已经关闭了这些通用类/接口,然后它就可以工作了。但我不擅长这个。我会像以前在 Simpleinjector 中那样以正确的方式注册开放通用装饰器。
有什么建议可能是什么问题吗?
public class Repository<TEntity> : IRepository<TEntity>
{
private readonly CosmosClient _client;
private readonly IDataContext<TEntity> _context;
private readonly Container _container;
public Repository(CosmosClient client, IDataContext<TEntity> context)
{
_client = client;
_context = context ?? throw new ArgumentNullException(nameof(context));
_container = _client.GetContainer(_context.GetDatabase(), _context.GetContainer());
}
public virtual async Task Add(TEntity entity) …
Run Code Online (Sandbox Code Playgroud) 根据他们页面上的指南,我正在尝试解决 DifferentialEquation 包中的典型示例。
这是示例:
using DifferentialEquations
using Plots
function lorenz(t,u, du)
du[1] = 10.0(u[2]-u[1])
du[2] = u[1]*(28.0-u[3]) - u[2]
du[3] = u[1]*u[2] - (8/3)*u[3]
end
u0 = [1.0;0.0;0.0]
tspan = (0.0,100.0)
prob = ODEProblem(lorenz,u0,tspan)
sol = solve(prob)
plot(sol,vars=(1,2,3))
Run Code Online (Sandbox Code Playgroud)
然后我得到:
错误:LoadError:参数已编入索引,但参数为
nothing
。您可能忘记将参数传递给 DEProblem!
这里有什么问题?提前致谢!