我已经设置了具有暴露3306的mysql的docker容器.我已经指定了数据库用户,数据库密码并创建了测试数据库并为新用户授予了权限.
在另一个容器中我想要访问此数据库.
所以我用一个简单的php脚本设置新容器,在这个db中创建新表.
我知道mysql容器的ip是172.17.0.2所以:
$mysqli = new mysqli("172.17.0.2", "mattia", "prova", "prova");
Run Code Online (Sandbox Code Playgroud)
比使用mysqli我创建新表,一切正常.
但我认为使用他的IP地址连接到容器并不好.
还有另一种指定db主机的方法吗?我尝试使用mysql容器的主机名,但它不起作用.
我已经在我的网站中使用苹果登录实现了登录/注册,一切正常。我已经创建了一个服务 ID、创建了密钥、配置了重定向 URI 并生成了客户端密钥。
现在我正在尝试在我的 iOS 应用程序上实现登录,并使用 Apple API 通过我们的后端验证登录。登录在 iOS 上正常运行,我们正确接收了授权代码,但我无法使用 Apple API 进行验证。
我在网站上使用完全相同的代码,只是更改客户端 id(我使用的是捆绑包 id)和我使用捆绑包 id 重新生成的客户端密钥。我总是得到以下回复:
{ "error": "invalid_grant", "error_description": "该代码已过期或已被撤销。" }
这是我用于验证的示例代码:
token_url = current_app.config.get('APPLE_OAUTH_URI') + '/token'
body = {
'grant_type': 'authorization_code',
'code': code,
'redirect_uri': current_app.config.get('APP_BASE_URL') + '/login/apple/callback',
'client_secret': client_secret,
'client_id': client_id
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
token_response = requests.post(
token_url,
headers=headers,
data=body
)
Run Code Online (Sandbox Code Playgroud)
我缺少什么?
我可以使用findAll()函数选择不同的值吗?
我尝试着 :
$province = $em->getRepository("FrontendBundle:Store")->findAll(array('distinct' => true));
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用.