phpEnv不提供Affinity组件或CRM系统,仅用于管理PHP多版本环境;需手动切换至PHP8.0+、配置MySQL数据库、设置Apache虚拟主机并调整PHP参数以支持Laravel/SuiteCRM等CRM项目开发。

phpEnv 本身不提供名为 “Affinity” 的官方组件或插件,也没有预装任何 CRM 系统。所谓“安装 Affinity phpEnv”,大概率是混淆了名称——实际想表达的是:在 phpEnv 环境中,为开发 CRM 类项目(比如基于 Laravel 或 SuiteCRM)准备兼容的 PHP+MySQL+Web 服务组合。
确认 phpEnv 是否支持你目标 CRM 的 PHP 版本
多数现代 PHP CRM(如 SuiteCRM 8.x、Laravel 10+)要求 PHP ≥ 8.0,而 phpEnv 8.9.5 默认集成的是 PHP7.4。直接运行会报错,例如:
PHP Parse error: syntax error, unexpected token "string" in /var/www/crm/vendor/symfony/polyfill-php80/bootstrap.php
解决方法只有两个:
- 从 phpEnv 自带的「软件商店」下载并切换到
PHP8.0或PHP8.1(注意:部分扩展如pdo_sqlsrv不可用,但pdo_mysql、mbstring、xml均默认启用) - 手动替换 phpEnv 的
php目录(风险高,易导致控制面板异常,不推荐)
用 phpEnv 启动 MySQL 并创建 CRM 数据库
phpEnv 的 MySQL 默认监听 127.0.0.1:3306,但 root 密码为空 —— 这对 SuiteCRM 或 Laravel 安装向导很友好,但上线前必须改。
立即学习“PHP免费学习笔记(深入)”;
操作步骤:
- 启动 phpEnv,点击「MySQL」→「启动」,观察右下角状态是否变绿
- 打开「软件商店」→「phpMyAdmin」,用
root/ 空密码登录 - 新建数据库,字符集选
utf8mb4_unicode_ci(Laravel 和 SuiteCRM 强制要求) - 若需命令行操作,用 phpEnv 内置的「CMD」工具执行:
mysql -u root -e "CREATE DATABASE crm DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
配置 Apache 虚拟主机跑 CRM 项目
phpEnv 默认只映射 www 目录,而 CRM 项目通常需把 public/(Laravel)或 public/ + .htaccess(SuiteCRM)设为 Web 根目录。硬塞进 www 会导致路由 404 或安全风险。
正确做法是手动加 Apache 配置:
- 编辑
phpenv\apache\conf\extra\httpd-vhosts.conf - 追加一段(以 Laravel 项目为例):
<VirtualHost *:80>
DocumentRoot "D:/projects/mycrm/public"
ServerName crm.test
<Directory "D:/projects/mycrm/public">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
然后修改系统 C:\Windows\System32\drivers\etc\hosts,添加一行:127.0.0.1 crm.test;最后重启 Apache。
为什么不能直接“一键安装 CRM”?
phpEnv 是环境容器,不是应用分发平台。它不打包 Laravel、SuiteCRM、or SugarCRM 等具体系统,也不处理 Composer 依赖、.env 配置、migration 执行等业务层逻辑。
容易被忽略的关键点:
- CRM 的
.env文件里DB_HOST必须填127.0.0.1,不能写localhost(Windows 下 mysqli 可能走命名管道而非 TCP) - phpEnv 的 Apache 模块
mod_rewrite默认开启,但若 CRM 重写规则不生效,要检查httpd.conf中AllowOverride All是否已对项目目录生效 - 上传大附件(如客户合同)时,需同步调大 phpEnv 的
php.ini中upload_max_filesize和post_max_size,否则表单静默失败



















