phpenv不能直接安装或管理neo4j,它仅支持php多版本切换;neo4j需独立安装配置jdk、启用bolt协议(7687端口),php连接必须使用bolt://地址及支持bolt的客户端如laudis/neo4j-php-client。

phpEnv 本身不支持一键安装或管理 Neo4j —— 它只是 Windows 下的 PHP 多版本环境套件,不包含图数据库组件,也不能自动配置 Neo4j 服务或 PHP 客户端驱动。
phpEnv 能不能直接装 Neo4j?
不能。phpEnv 的 phpenv install 命令只管理 PHP 版本(如 7.4、8.1、8.3),不提供 neo4j 或类似子命令。Neo4j 是独立的 Java 应用,需单独下载、解压、配置 JDK 环境并手动启停。
- phpEnv 不修改系统 PATH 以包含
neo4j.bat,也不会帮你设NEO4J_HOME - 它不干预
neo4j.conf文件,也不会自动启用 HTTP 连接器(dbms.connector.http.enabled=true) - 你仍需自己确保
java -version可用,且 JDK 版本兼容 Neo4j(例如 Neo4j 3.5.x 要求 JDK 8,5.x 要求 JDK 11+)
PHP 连接 Neo4j 必须配对 Bolt 协议
Neo4j 5.x 默认禁用 HTTP 接口,只开放 Bolt(端口 7687)。用 phpEnv 运行的 PHP 若调用旧版 HTTP 客户端(如 GraphAware\Neo4j\Client 的 http:// 连接串),会直接报 Connection refused 或 404 Not Found。
- 必须改用 Bolt 连接:连接字符串格式为
bolt://neo4j:password@localhost:7687 - 确认
neo4j.conf中已启用 Bolt:dbms.connector.bolt.enabled=true(默认开启,但检查更稳妥) - PHP 客户端必须支持 Bolt 协议;
laudis/neo4j-php-client原生支持,而老版graphaware/neo4j-client需搭配graphaware/neo4j-bolt扩展,否则会静默降级失败
在 phpEnv 环境下装 PHP Neo4j 驱动的实操要点
Composer 安装不受 phpEnv 影响,但要注意 PHP CLI 使用的是哪个版本 —— 用 phpenv which php 确认当前 CLI 解析路径,避免装到系统 PHP 或其他版本里。
- 运行前先切到目标 PHP 版本:
phpenv local 8.2(或phpenv global 8.2) - 执行:
composer require laudis/neo4j-php-client(推荐,Bolt 原生、事务健壮、维护活跃) - 若坚持用
graphaware/neo4j-client,必须额外装:composer require graphaware/neo4j-client graphaware/neo4j-bolt - 测试连接时,别用
http://localhost:7474做客户端地址 —— 那是浏览器访问 Web UI 的地址,不是 PHP 连数据库的地址
常见报错和绕过方式
最常卡在认证和协议不匹配上,错误信息直指根源:
-
AuthorizationFailedException:密码还是初始neo4j,没改过;Neo4j 强制首次登录后改密,否则拒绝所有后续连接 -
Connection refused on 7474:误用 HTTP 连接串连 Neo4j 5.x,或dbms.connector.http.enabled=false(默认值) -
Invalid URI scheme: http(laudis 客户端报):传了http://地址给只接受bolt://的驱动 -
Could not connect to localhost:7687:Neo4j 服务根本没启动,或防火墙拦截;用netstat -ano | findstr :7687检查端口是否被监听
真正麻烦的从来不是“怎么连”,而是连之前没意识到 Neo4j 5.x 和旧教程的协议断层、认证强制升级、以及 phpEnv 根本不替你管这些事 —— 它只管 PHP,别的都得你自己扛。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











