我正在尝试编写一个 cloudformation 模板,其中涉及向存储桶添加事件以触发 lambda 函数。
我知道我可以使用如下代码同时创建一个存储桶和一个事件,但我的存储桶已经存在,我不想要另一个,所以有没有办法为云形成中的现有存储桶创建一个事件?
"EncryptionServiceBucket" : {
"Type" : "AWS::S3::Bucket",
"Properties" : {
"BucketName" : { "Fn::Sub" : "${User}-encryption-service" },
"NotificationConfiguration" : {
"LambdaConfigurations" : [{
"Function" : { "Ref" : "LambdaDeploymentArn" },
"Event" : "s3:ObjectCreated:*",
"Filter" : {
"S3Key" : {
"Rules" : [{
"Name" : "suffix",
"Value" : "zip"
}]
}
}
}]
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试为 cli 安装 pdo-sqlite ext。
我试过运行sudo apt-get install php5-sqlite,它说 ext 已经是最新的,但是当我运行时php -m它没有出现在列表中。
在我的 /usr/lib/php/ 文件夹中,我有 2 个文件夹,分别命名为 20131226 和 20160303。后一个(20160303)包含 pdo_sqlite.so 但是当我尝试将其添加到 php.ini 文件时,我收到错误
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/pdo_sqlite.so' - /usr/lib/php/20160303/pdo_sqlite.so: undefined symbol: zend_fetch_resource2_ex in Unknown on line 0
我正在运行 ubuntu 14.04 和 php 5.6。
有没有人能够帮助解决这个问题?也有人能够解释为什么 php 扩展名存储在这些不同编号的文件夹中,以及 php 如何知道要查看哪个?谢谢。
我是 docker 的新手,我正在尝试设置它以便与 Laravel 5.1 一起运行。我目前收到以下错误
Call to undefined function Illuminate\Foundation\Bootstrap\mb_internal_encoding() in /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php:43
Run Code Online (Sandbox Code Playgroud)
我相信这是因为mbstring没有安装 php 扩展。我试图添加php-mbstring到 Docker 文件,但它似乎不起作用。
这是我的完整 Docker 文件
FROM php:5.6.30-fpm
RUN apt-get update && apt-get install -y libmcrypt-dev \
mysql-client libmagickwand-dev --no-install-recommends \
&& pecl install imagick \
&& docker-php-ext-install mcrypt pdo_mysql \
&& docker-php-ext-install php-mbstring
Run Code Online (Sandbox Code Playgroud)
然后我sudo docker compose up从应用程序文件夹运行。但这似乎并没有解决错误。我如何知道扩展是否安装正确?
编辑:我在下面包含了 docker-compose.yml 文件
version: '2'
services:
# The Application
app:
build:
context: ./
dockerfile: app.dockerfile
working_dir: /var/www
volumes:
- ./:/var/www
environment: …Run Code Online (Sandbox Code Playgroud) 我创建了一个aws Cloudformation脚本,它启动了,但是当我查看日志时,它显示以下错误:
ValidationError:堆栈stackarn处于CREATE_COMPLETE状态,无法发出信号
我查看了有关此错误的其他帖子,这些帖子表明问题出在实例ID是从第一个实例或自动伸缩组派生的,而该ID没有设置所需的容量,这对我都不适用。
这是我的云形成模板
{
"AWSTemplateFormatVersion": "2010-09-09",
"Metadata": {
"AWS::CloudFormation::Designer": {
"90d29d54-61c0-4b64-8f16-bab58c2da737": {
"size": {
"width": 510,
"height": 330
},
"position": {
"x": 650,
"y": 200
},
"z": 0,
"embeds": [
"9da7a6f1-462f-45c1-bc0c-10fe6a297ea0",
"791e1b81-a4ed-4b9a-a1b6-e37f92201579",
"d4706141-a8d6-4d08-b092-cabedf2d351f",
"25f02a3f-31da-4e2a-8a3b-31cc9c860451"
]
},
"25f02a3f-31da-4e2a-8a3b-31cc9c860451": {
"size": {
"width": 250,
"height": 110
},
"position": {
"x": 850,
"y": 250
},
"z": 1,
"parent": "90d29d54-61c0-4b64-8f16-bab58c2da737",
"embeds": [
"9eb6713b-7a7f-46a2-8a53-76738c2069e7",
"ee1affdf-e6fe-453f-b754-cf2de003f1d8",
"e8849c27-1095-4667-906a-6f194c39e5bb"
]
},
"791e1b81-a4ed-4b9a-a1b6-e37f92201579": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 940,
"y": 450 …Run Code Online (Sandbox Code Playgroud) 我正在构建一个 Laravel API,并且在发布数据时我需要能够仅接受“application/json”类型的请求。任何其他内容类型都应返回 406“不可接受”响应。
我知道我可以放入一些中间件来检查这一点,但是我想知道是否有更好的方法可以实现这一点?
谢谢