我在尝试将 Laravel 8 项目(使用 PHP 7.4)连接到临时 Oracle 数据库时遇到问题。尽管配置了必要的文件(listener.ora、tnsnames.ora),并使用临时数据库凭据更新了我的 .env 文件,但在运行 php artisanserve 时,我始终收到以下错误:
ORA-12170: TNS:发生连接超时
以下是我的设置概述:
即时客户端目录:我已将所有必需的文件放在 /opt/oracle/instantclient_21_13 中,其中 tnsnames.ora 是主文件。
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.236.30)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = UWBSDBPROD)
)
)
监听器配置:
LISTENER =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=10.70.236.30)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.236.30)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = UWBSDBPROD)
)
)
Laravel .env 配置:
DB_CONNECTION=oracle
DB_HOST=10.70.236.30
DB_PORT=1521
DB_DATABASE=database
DB_USERNAME=whatsappdb
DB_PASSWORD=whatsapp
DB_CHARSET=utf8
DB_COLLATION=utf8
DB_DEBUG=true
尽管进行了这些配置,我仍然遇到 ORA-12170 错误。有人可以帮我解决这个问题吗?任何帮助将不胜感激。谢谢。这对我有帮助,我尝试了几天,但找不到任何结果。