Ubuntu18.04迁20.04后PHP站点APC扩展缺失报错求助
问题根源分析
1. PHP 5.6的APC扩展在Ubuntu 20.04官方源中缺失
Ubuntu 20.04的官方软件源不再维护PHP 5.6(已终止支持),默认没有提供对应版本的APC扩展包。你切换到PHP 5.6后,无法通过常规apt命令安装APC扩展,导致代码检测不到apc扩展。
2. APC与APCu扩展的混淆问题
PHP 5.6后期,原APC扩展被拆分:缓存功能独立为APCu扩展, opcode缓存整合进PHP核心(OPcache)。而Kohana的APC缓存驱动检测的是旧版apc扩展,即便你安装了APCu,扩展名称是apcu而非apc,代码中extension_loaded('apc')会返回false,触发报错。
3. Apache的PHP模块未正确切换
你执行版本切换命令后,可能仅切换了CLI版本的PHP,但Apache加载的仍然是PHP 7的模块。此时Apache运行的PHP环境还是PHP 7,而PHP 7已移除APC扩展支持,自然检测不到apc扩展。
4. 扩展未启用或配置错误
即便你手动安装了PHP 5.6的APC扩展,也可能未在php.ini中添加extension=apc.so配置,或者扩展路径配置错误,导致PHP无法加载该扩展。
内容的提问来源于stack exchange,提问作者roronoa
相关产品推荐
相关产品推荐

