当我尝试将'2011/03/13 02:53:50.000000000'插入时间戳列时,我收到此错误.如果我将13更改为15,14,12或11,则没有问题.我也试过将/改为-s仍然没有去.
我查看了一些与此错误相关的其他线程但似乎没有适用.
我正在运行5.7.9版本.
我很难找到正确的方法来做一些我认为应该使用numpy的微不足道的事情.我有一个数组(1000x1000),我想计算整个数组中特定模式的总和.
例如:
如果我有这个数组,并且想要计算我期望的两个单元格右对角线的总和[7,12,11,8,12,6,11,7](总共8个总和).
我怎样才能做到这一点?
haskell boolean-logic functional-programming category-theory curry-howard
我正在尝试使用命令行创建一个实体用户php bin/console make:entity
但它一直给我这个错误:
In DoctrineHelper.php line 187:
Cannot access protected property Doctrine\ORM\Mapping\Driver\AnnotationDriver::$classNames
make:entity [-a|--api-resource] [-b|--broadcast] [--regenerate] [--overwrite] [--] [<name>]
Run Code Online (Sandbox Code Playgroud)
我已按照官方网站说明下载了所有要求https://symfony.com/doc/5.4/doctrine.html
composer.json:
In DoctrineHelper.php line 187:
Cannot access protected property Doctrine\ORM\Mapping\Driver\AnnotationDriver::$classNames
make:entity [-a|--api-resource] [-b|--broadcast] [--regenerate] [--overwrite] [--] [<name>]
Run Code Online (Sandbox Code Playgroud) 我想在Swagger上添加“授权”按钮,如此处所述:https : //api-platform.com/docs/core/jwt#documenting-the-authentication-mechanism-with-swaggeropen-api
我安装了LexikJWTAuthenticationBundle,它与Curl一起正常工作。但是当我浏览到http:// localhost:8000 / api时,我只会看到{"code":401,"message":"JWT Token not found"}。
我想念什么吗?
这是我的security.yaml:
security:
encoders:
App\Entity\User:
algorithm: bcrypt
providers:
db_provider:
entity:
class: App\Entity\User
property: username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
api_login:
pattern: ^/api/login
stateless: true
anonymous: true
form_login:
check_path: /api/login_check
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
require_previous_session: false
api:
pattern: ^/api
stateless: true
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
main:
pattern: ^/
anonymous: ~
provider: db_provider
form_login:
login_path: app_security_login
check_path: app_security_login
csrf_token_generator: security.csrf.token_manager
logout:
path: /logout
target: …Run Code Online (Sandbox Code Playgroud) 我目前正在使用Google_Client api并想要获取用户名,电话,电子邮件和用户地址.
我设置了这些范围:
'https://www.googleapis.com/auth/plus.login',
'https://www.googleapis.com/auth/user.birthday.read',
'https://www.googleapis.com/auth/user.addresses.read',
'https://www.googleapis.com/auth/user.emails.read',
'https://www.googleapis.com/auth/user.phonenumbers.read'
Run Code Online (Sandbox Code Playgroud)
当我点击google登录时,它会询问正确的权限,然后我会使用Google提供的代码获取访问令牌.
获取我请求的令牌people_service和配置文件数据后,如下所示:
$token = $this->client->fetchAccessTokenWithAuthCode($_GET['code']);
$people_service = new \Google_Service_PeopleService($this->client);
$profile = $people_service->people->get(
'people/me',
array('personFields' => 'addresses,birthdays,emailAddresses,phoneNumbers')
);
Run Code Online (Sandbox Code Playgroud)
它返回一个Google_Service_PeopleService_Person对象.
但是,当我尝试使用它时,就像getPhoneNumbers()它返回一个 Call to undefined method Google_Service_PeopleService_Person::getNames()错误.
有什么问题,我该怎么办?
为什么我会收到此错误
未捕获的类型错误:类型化属性 $description 必须是字符串,使用 null
当我尝试分配null给类型属性时?像这样:
new Foo(null);
Run Code Online (Sandbox Code Playgroud)
class Foo
{
private string $description;
public function __construct($description)
{
$this->description = $description; // <-- Error on this line
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试做什么
我正在尝试对这个基于 CodeIgniter 4 构建的 php 应用程序进行 dockerize。该应用程序具有以下依赖项,这些依赖项通常通过 Composer 安装:
"require": {
"php": "^7.3 || ^8.0",
"myth/auth": "dev-develop",
"codeigniter4/framework": "^4.1",
"codeigniter4/translations" : "^4.0"
},
Run Code Online (Sandbox Code Playgroud)
项目结构组织如下:
docker
database
nginx
php-fpm
docker-compose.yml
src
... app files ...
tests
composer.json
Run Code Online (Sandbox Code Playgroud)
在里面docker-compose.yml我有一个名为的服务php-fpm,它将所有应用程序文件复制到公共/var/www/html目录nginx:
php-fpm:
container_name: boilerplate_app
build:
context: ./php-fpm
volumes:
- ../src:/var/www/html
Run Code Online (Sandbox Code Playgroud)
我需要做的是使用 Composer 安装应用程序依赖项。
我尝试过的
最初,我想在Dockerfile可用php-fpm文件夹中执行此操作:
FROM php:8.0.2-fpm-alpine
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install mysqli
# Install Composer
COPY --from=composer /usr/bin/composer …Run Code Online (Sandbox Code Playgroud) TL;DR: 在我读到 WSL2 将用于 Windows(和 Docker)14 个月后,我尝试了 Symfony 5,但它仍然像巧克力球一样慢。
早在 2020 年第一季度,我就了解到 Symfony 和 Docker 在简单的设置环境中非常慢。我们尝试了又尝试,但没有成功:无论我们如何努力,我们都无法获得 Symfony sub 4.000ms。解决方案之一显然是将供应商文件夹移到由 Docker 和 Window 管理的绑定安装之外(可通过 explorer.exe 访问),同样的情况也适用于 var 目录(用于日志和缓存)。
现在是 2021 年第二季度,一年多后,我在 PHP 和 .NET 之间轮换,但我仍然想尝试一下。我下载了我能找到的最新版本的 Windows 版 Docker Desktop,以及 Hyper-V 和 WSL2 支持。我安装了 Microsoft 的支持驱动程序,然后就可以开始了。
一个小时后,在查找了一些有关 Docker 如何实际工作的数据后,我快速部署了 PHP 7.4、NGINX、PostgreSQL、MongoDB 和 Redis 容器/堆栈,并且通过简单的 phpinfo() 和一些随机调用,一切都可以流畅地运行上述数据库。
我安装了全新的 Symfony 5,令我惊讶的是我仍然发现问题仍然存在。甚至没有与数据库建立连接,但它仍然无法运行。很自然地,我将堆栈简化回 PHP 7.4 和 NGINX 堆栈,希望在某个地方我急切地迷失了方向。不幸的是,我猛然醒悟——它仍然很糟糕。
我的设置
# ./docker-compose.yml
version: '3'
services:
php-fpm:
build:
context: ./php-fpm
volumes:
- ../src:/var/www
networks:
- symfony
nginx:
build: …Run Code Online (Sandbox Code Playgroud) 我对在 Symfony 5.3 中的控制器中检索当前会话对象的“正确”方法有点困惑。当前文档说将参数键入为SessionInterface。然而,这篇Symfony 博客文章表示SessionInterface已弃用,转而使用RequestStack.
在服务中,很明显我应该注入RequestStack并调用$requestStack->getSession(). 然而,在大多数控制器方法中,我已经注入了Request对象,该对象也有一个getSession()似乎可以工作的方法。
是否可以从Request对象获取会话,或者我应该在控制器方法中注入RequestStack(Request这感觉几乎是重复)
一个快速的代码示例:
// in a controller
public function myRoute(Request $request): Response
{
$session = $request->getSession(); // this works
}
// seems silly to also inject RequestStack when I already have Request
public function myRoute(Request $request, RequestStack $requestStack): Response
{
$reqestStack->getSession(); // this works
}
// the way current …Run Code Online (Sandbox Code Playgroud) php ×6
symfony ×4
composer-php ×2
docker ×2
curry-howard ×1
doctrine ×1
doctrine-orm ×1
haskell ×1
mysql ×1
numpy ×1
python ×1
python-3.x ×1
symfony5 ×1
type-hinting ×1
types ×1