Я использую среду GAE Flex для обслуживания приложений Laravel. Я настроил все, и приложение работает. Я также настроил сервер MemoryStore Redis и попытался подключиться к серверу из приложения GAE Flex Laravel, но при попытке развернуть свое приложение я получаю сообщение об ошибке Predis\Connection\ConnectionException: Connection timed out [tcp://10.70.**.**:6379]
.
У меня настроен сервер MemoryStore Redis и получен IP-адресадрес сервера и поместите его в мой файл app.yaml следующим образом. Мое приложение находится в области us-east1
, а область MemoryStore Redis также us-east1
.
Я также следовал официальной документации Google: https://cloud.google.com/memorystore/docs/redis/connect-redis-instance-flex
Это работает для чисто PHP-приложения, ноне работает для приложения Laravel. Это не требуется, но я также создал VPC и попробовал с ним тоже, но он тоже не сработал.
Я также попросил об этом службу поддержки Google Cloud, но они не могли помочь, и так как они связаны с Laravel, они предложилиЯ хочу попросить об этом сообщество Stackoverflow.
runtime: php
env: flex
manual_scaling:
instances: 1
runtime_config:
document_root: public
front_controller_file: index.php
whitelist_functions: proc_open
enable_stackdriver_integration: true
env_variables:
MYSQL_USER: dbusername
MYSQL_PASSWORD: ******
MYSQL_DSN: mysql:dbname=mydbname;unix_socket=/cloudsql/project-name:us-east1:sql-server-name
APP_URL: https://www.myapp.com
APP_KEY: ******
APP_ENV: local
APP_DEBUG: true
APP_LOG: stackdriver
APP_LOG_LEVEL: debug
LOG_CHANNEL: stackdriver
DB_CONNECTION: mysql
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_DATABASE: mydbname
DB_USERNAME: dbusername
DB_PASSWORD: ******
DB_SOCKET: /cloudsql/project-name:us-east1:sql-server-name
BROADCAST_DRIVER: log
CACHE_DRIVER: redis
QUEUE_CONNECTION: database
SESSION_DRIVER: cookie
SESSION_LIFETIME: 120
REDIS_HOST: "10.70.**.**"
REDIS_PORT: "6379"
FILESYSTEM_DRIVER: local
beta_settings:
cloud_sql_instances: project-name:us-east1:sql-server-name
network:
name: default
Я ожидаю подключения к MemoryStore Redis без каких-либо ошибок. Но я все еще получаю эту ошибку:
Step #2: Predis\Connection\ConnectionException : Connection timed out [tcp://10.70.**.**:6379]
Step #2:
Step #2: at /app/vendor/predis/predis/src/Connection/AbstractConnection.php:155
Step #2: 151| */
Step #2: 152| protected function onConnectionError($message, $code = null)
Step #2: 153| {
Step #2: 154| CommunicationException::handle(
Step #2: > 155| new ConnectionException($this, static::createExceptionMessage($message), $code)
Step #2: 156| );
Step #2: 157| }
Step #2: 158|
Step #2: 159| /**
Step #2:
Step #2: Exception trace:
Step #2:
Step #2: 1 Predis\Connection\AbstractConnection::onConnectionError("Connection timed out")
Step #2: /app/vendor/predis/predis/src/Connection/StreamConnection.php:128
Step #2:
Step #2: 2 Predis\Connection\StreamConnection::createStreamSocket(Object(Predis\Connection\Parameters), "tcp://10.70.**.**:6379")
Step #2: /app/vendor/predis/predis/src/Connection/StreamConnection.php:178