我在尝试让 imap 与我的 docker-compose 一起工作时遇到问题。
这是我的 php dockerfile 的样子。
FROM php:7.2-fpm
RUN apt-get update && \
apt-get install -y \
curl \
libmcrypt-dev \
unzip \
git
# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-
dir=/usr/local/bin --filename=composer
RUN composer --version
# Set timezone to UTC
RUN rm /etc/localtime
RUN ln -s /usr/share/zoneinfo/UTC /etc/localtime
RUN "date"
RUN apt-get -y install libmagickwand-dev --no-install-recommends \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
&& rm -r /var/lib/apt/lists/*
RUN /usr/local/bin/docker-php-ext-install …
Run Code Online (Sandbox Code Playgroud) 所以首先这是我想要做的:
我得到了一个带有一些自定义输入的数据表。用户可以选择技能(php、mysql等)和标准文本输入。用户可以选择多个技能。When multiple skills are selected it's supposed to be kind of an AND AND query. 所以这两种技能都必须可用。
数据表中的标准文本输入将包含诸如客户姓名、他们的电子邮件或工作职能等信息。
例如,我检查了 PHP 和 Javascript,在我的文本搜索中我使用了 Google。这意味着我正在寻找在标签中同时包含 PHP 和 Javascript 的文档(或它们的任何别名,例如:Javascript => js),并且在列出的任何其他字段(客户、函数、发件人姓名、发件人电子邮件或主题)。
但它也应该能够搜索仅匹配技能或仅用于文本输入的文档。
我一直在尝试使用所有查询选项构建数组,并根据函数的输入合并这些数组,但到目前为止没有任何效果。
匹配过滤器必须是对象中的表达式
下面是我在 Mongo 中获得的文档示例
{
"_id": {
"$oid": "superfancyID"
},
"parsed": {
"tags": [
"sql",
"php"
],
"customer": "CustomerName",
"function": "functionName",
"mail_properties": {
"senderName": "SenderName",
"senderEmail": "example@example.com",
"subject": "FW: Test email",
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试构建查询的一些代码
public function handler(int $skip, int $limit, array $filters, string $filterString = '') {
# …
Run Code Online (Sandbox Code Playgroud) 所以我试图从我的 docker 集群获取特定的端口号,这样做是因为我稍后需要该端口。
当我执行 docker-compose ps 时,我得到以下输出
contaimer_db_1 docker-entrypoint.sh mysqld Up 3306/tcp
container_node_1 /usr/bin/supervisord -n Up 0.0.0.0:3902->3902/tcp
container_php_1 docker-php-entrypoint php-fpm Up 9000/tcp
container_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
Run Code Online (Sandbox Code Playgroud)
我想得到的是来自container_node_1 3902的端口号
到目前为止我得到了
docker-compose ps | grep "[ :]\?[[:digit:]]\{4\}"
Run Code Online (Sandbox Code Playgroud)
但这将获取所有端口,因为它们连续有 4 个数字。我如何更改它以确保它只获取节点端口?
如果有任何帮助,节点容器将始终显示为 0.0.0.0:1234->1234
如果我有以下表结构
ID name type
1 John Admin
2 Johan Admin
3 Sam User
4 Rick User
Run Code Online (Sandbox Code Playgroud)
我如何将 Laravels Eloquent 与 groupBy 查询一起使用,但仍然获取每条记录,并总结每种类型有多少条记录?
示例结果如下
[
'type' => 'Admin',
'records' => 2
'data' => [
0 => [
'name' => 'John'
],
1 => [
'name' => 'Johan'
]
]
],
[
'type' => 'User',
'records' => 2
'data' => [
0 => [
'name' => 'Sam'
],
1 => [
'name' => 'Rick'
]
]
]
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 php 中使用 microsoft graph 创建订阅,但是我目前无法看到出了什么问题。
该代码在以下位置被破坏:
protected $http_subscribe = "https://graph.microsoft.com/v1.0/subscriptions";
public function getSubscriptions()
{
if(empty($this->token)) {
dd('no token supplied'); //some debugging
}
$date = $this->endTimeDate->format('Y-m-d'); //This is Carbon date
$time = $this->endTimeDate->format('H:i:s.u');
$response = $this->client->request('POST', $this->http_subscribe, [
'headers' => [
'Authorization' => 'Bearer ' . $this->token,
'Content-Type' => "application/json"
], 'form_params' => [
"changeType" => "created,updated",
"notificationUrl" => "https://website.test/notify",
"resource" => "me/mailFolders('Inbox')/messages",
"expirationDateTime" => $date.'T'.$time,
"clientState" => "secretClientValue"
]
]);
dd($response);
}
Run Code Online (Sandbox Code Playgroud)
我得到的完整错误是:
"""
{\r\n
"error": {\r\n
"code": "BadRequest",\r\n …
Run Code Online (Sandbox Code Playgroud)