phalcon扩展需严格匹配xampp的php架构(x86/x64)和线程安全模式(ts/nts),下载对应vc版本的php_phalcon.dll与php_psr.dll,放入ext目录,在php.ini中按序添加extension=php_psr.dll和extension=php_phalcon.dll,并重启apache验证。

确认XAMPP的PHP架构和线程安全模式
Phalcon DLL必须与XAMPP中PHP的架构(x86/x64)和线程安全模式(TS/NTS)完全匹配,否则extension=php_phalcon.dll会静默失效或报PHP Warning: PHP Startup: Unable to load dynamic library。打开http://localhost/dashboard/phpinfo.php,重点查看两行:
-
Architecture:显示x86还是x64(XAMPP默认全是x86,哪怕系统是64位) -
Thread Safety:显示enabled即TS版,disabled即NTS版
这两项决定了你要下载哪个DLL——例如XAMPP 8.2.12(PHP 8.2 TS x86)就必须用phalcon_x86_vc15_php8.2_5.0.0.RC1_TS.dll这类命名的文件,不能混用VC11/VC14/VC15或TS/NTS变体。
下载并放置正确的php_phalcon.dll
官方不再提供Windows预编译包的集中下载页,需从GitHub Releases手动筛选:
- 访问
https://github.com/phalcon/cphalcon/releases - 找带
win32或Windows字样的Assets(如phalcon-5.0.0-win32-x86-vs15.zip) - 解压后确认DLL文件名含
_TS且架构与phpinfo一致 - 复制
php_phalcon.dll到C:\xampp\php\ext\(路径必须精确,不能放错目录)
常见错误:把php_psr.dll漏掉——Phalcon 4+强制依赖PSR扩展,同样要下载对应版本的php_psr.dll并放入ext,并在php.ini中先加载:extension=php_psr.dll。
修改php.ini并验证加载顺序
编辑C:\xampp\php\php.ini,在[Dynamic Extensions]段落末尾添加两行(顺序不能颠倒):
XAMPP 8.0.30 是一款免费、开源的跨平台 Web 服务器集成包,专为快速搭建本地 PHP 开发环境而设计。该版本核心组件包括:Apache 2.4.56、MySQL 8.0.33、PHP 8.0.30、phpMyAdmin 5.2.1 等。它支持 Windows、Linux 和 macOS 系统,可让开发者在个人电脑上轻松模拟服务器环境,无需复杂配置即可运行 WordPress、Thin
extension=php_psr.dll extension=php_phalcon.dll
注意:
- 不要加引号,不要写路径(XAMPP自动在
ext目录下查找) - 确保这两行没被
;注释 - 如果XAMPP同时运行Apache和PHP CLI,需确认你改的是Apache用的
php.ini(通常就是C:\xampp\php\php.ini;CLI可能用另一份,可用php --ini验证)
改完保存,**必须重启Apache服务**(不是重启XAMPP控制面板,而是点“Stop”再“Start” Apache),否则配置不生效。
验证失败时优先排查的三个硬性条件
若phpinfo()里仍看不到Phalcon,别急着重装,先核对:
- VC运行库是否缺失:XAMPP 8.x 依赖
VC_redist.x64.exe(即使XAMPP是x86,也要装x64版VC运行库),未安装会导致DLL根本无法载入,错误不提示 - PHP版本小版本是否严格一致:
php_phalcon.dll编译时绑定的是php-8.2.12,而你的XAMPP是php-8.2.10,就可能失败(尤其Phalcon 5.0+对ABI更敏感) - 防病毒软件拦截:某些国产杀软会阻止PHP加载非签名DLL,临时禁用后重试
最易被忽略的是VC运行库和PSR扩展的强依赖关系——Phalcon 4.0之后,没有php_psr.dll,php_phalcon.dll连进程都进不去。










