【发布时间】:2025-12-14 14:15:01
【问题描述】:
我正在为一个使用 redis 作为缓存驱动程序的 Laravel 项目的 .gitlab-ci.yml 文件中的 Gitlab CI 配置工作。在这个配置文件中,我使用了一个包含所有 linux 包、php 扩展名的图像,这些包在我们的生产环境中使用。这包括由 pecl 安装的 redis 扩展,因此 phpredis 可以在 Laravel 中使用。
在学习了持续集成的过程和gitlab ci文件的配置之后,我在部署镜像时遇到了以下错误:
In PhpRedisConnector.php line 126:
Redis::connect() expects parameter 2 to be int, string given
参数应该只是作为 int 的端口,但不知何故变成了 tcp://111.111.11.11:6379
正如https://docs.gitlab.com/ee/ci/services/redis.html 记录的那样,您的.env 中的主机应该是redis,所以我有。在部署期间转储配置导致端口为一些 tcp://111.111.11.11:6379 连接字符串并且主机为空。这在我们的应用程序或我们使用的任何扩展程序中都无法更改。
我在 .gitlab-ci.yml 中使用 https://hub.docker.com/_/redis/ 作为服务。
...
services:
- name: redis:4
...
【问题讨论】:
标签: php laravel docker gitlab-ci phpredis