我正在努力使用Google Cloud Platform的Cloud SQL组件解决此问题。我的技术栈包括将我的应用程序托管在Google Kubernetes Engine(GKE)部署中,使用Cloud SQL代理sidecar连接到Pod中的数据库。后端是一个Symfony项目。
我按照以下步骤创建和填充数据库(没有成功):
phpfpm)窗格并运行命令php bin/console doctrine:schema:update --force以更新架构。查询在数据库中执行,因此创建了架构,依此类推。postgres用户通过GCP中的SQL控制台连接打开数据库,并尝试执行简单的select * from foo;查询。响应是Insufficient privilege: 7 ERROR: permission denied for relation如何与postgres用户查询数据库中的数据?
编辑:
我有关于用户的这种情况:
Role name | Attributes | Member of
-------------------+------------------------------------------------------------+-------------------------------
acando14 | Create role, Create DB | {cloudsqlsuperuser,proxyuser}
cloudsqladmin | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
cloudsqlagent | Create role, Create DB | {cloudsqlsuperuser}
cloudsqlreplica …Run Code Online (Sandbox Code Playgroud) php postgresql symfony google-cloud-sql google-cloud-platform
我试图在同步模式下获得回调的响应,因为我需要响应的值才能让所有应用程序正常工作,如果没有这个值(令牌),我将无法继续使用该应用程序。这是我在改造界面中的配套对象。我需要在创建客户端之前设置令牌。
我做错了什么?
编辑 :
我把这个日志作为你写的:
companion object {
private var mToken: String = ""
fun create(activity: Activity): MyPhoneInterface {
Log.d("tokenMyPhoneInterface", activity.localClassName)
getToken(activity)
Log.d("tokenMyPhoneInterface", "client token $mToken")
val client = OkHttpClient.Builder()
.addInterceptor { chain ->
val request = chain.request().newBuilder()
.addHeader("Authorization", mToken).build()
chain.proceed(request)
}.build()
val retrofit = Retrofit.Builder()
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.baseUrl(BuildConfig.API_HOST)
.build()
return retrofit.create(MyPhoneInterface::class.java)
}
private fun getToken(activity: Activity) {
if(!activity.isFinishing && isJwtExpired(mToken)){
val latch = CountDownLatch(1)
(LoginManager(activity)).getToken(true, object : ServiceCallback<String> {
override fun success(token: String) {
Log.d("tokenMyPhoneInterface", "token $token")
mToken …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 docker 容器上启用 apcu cli 以运行我的测试。这是我的 docker 文件,我使用:
当我尝试在这个 docker 中运行我的测试时,它由于 apcu 错误而失败。但是,在 prod 中,apcu 运行良好,因为它已启用但测试需要启用 cli。
FROM php:7.3-cli
ARG APCU_VERSION=5.1.11
RUN apt-get update && apt-get -y install git zip libzip-dev wget \
zlib1g-dev unzip libpq-dev git-core libmcrypt-dev vim libfcgi0ldbl gnupg \
libfreetype6-dev libjpeg62-turbo-dev libpng-dev libicu-dev
#INSTALL COMPOSER
RUN echo "memory_limit = -1" > /usr/local/etc/php/conf.d/memory_limit.ini
RUN curl -sS http://getcomposer.org/installer | php -- --filename=composer && chmod a+x composer && mv composer …Run Code Online (Sandbox Code Playgroud) 我正在尝试部署一个redis pod,以允许我的暂存应用程序连接到它(以避免在暂存 ENV 中使用 Redis 托管服务)。
我正在使用Google Cloud Platform和GKE,因此托管 k8s 集群...
但是,当我尝试建立连接(仅从另一个 redis pod 进行测试)时,我收到此消息:
Could not connect to Redis at redis-cip.redis.svc.cluster.local:6379: Connection refused
Run Code Online (Sandbox Code Playgroud)
我用来进行测试的命令是这样的:
redis-cli -h redis-cip.redis.svc.cluster.local -p 6379
Run Code Online (Sandbox Code Playgroud)
URL 由以下部分组成:
此外,正如 StackOverflow 上的一些问题中已经写的那样,我使用此 redis 配置:
protected-mode no
maxmemory 32mb
maxmemory-policy allkeys-lru
Run Code Online (Sandbox Code Playgroud)
附上完整的 k8s 映射:
配置映射:
apiVersion: v1
kind: ConfigMap
metadata:
name: redis-configmap
namespace: redis
data:
redis.conf: |
protected-mode no
maxmemory 32mb
maxmemory-policy allkeys-lru …Run Code Online (Sandbox Code Playgroud) php ×2
android ×1
apcu ×1
asynchronous ×1
callback ×1
docker ×1
java ×1
kotlin ×1
kubernetes ×1
postgresql ×1
redis ×1
symfony ×1