Apache与PHP组合以职责清晰、稳定可控著称;需正确加载PHP模块、配置虚拟主机、调优PHP参数并启用OPcache。

Apache 与 PHP 的组合仍是当前最成熟、最可控的 Web 运行环境之一。它的稳定不靠花哨功能,而靠清晰的职责划分和可预测的行为逻辑——Apache 处理网络层与请求调度,PHP 专注业务逻辑执行。只要配置得当,哪怕在低配服务器上也能长期可靠运行。
确保模块加载正确是第一步
Apache 必须明确加载 PHP 模块,否则所有 .php 文件都会被当作纯文本下载或直接 403 拒绝。关键操作包括:
- 检查 httpd.conf 中是否启用
LoadModule php_module modules/libphp.so(Linux)或LoadModule php7_module "c:/php/php7apache2_4.dll"(Windows) - 确认
AddHandler application/x-httpd-php .php已写入,且未被其他AddType冲突覆盖 - Windows 下注意 DLL 路径不能含空格或中文;Linux 下需确保
libphp.so权限为 755,且所属用户与 Apache 进程一致
虚拟主机配置要兼顾安全与隔离
多个项目共存时,用虚拟主机比把所有代码堆进 /var/www/html 更规范、更易维护。典型配置要点:
-
DocumentRoot必须指向项目实际目录,路径末尾不加斜杠 -
<directory></directory>块内必须包含Require all granted,否则默认拒绝访问 -
AllowOverride All才能启用 .htaccess,但生产环境建议关闭,改用主配置实现重写逻辑 - 本地开发时,在系统
hosts文件中添加127.0.0.1 demo.local,再配合ServerName demo.local即可生效
PHP 运行参数需匹配真实负载
默认值适合小脚本,但 WordPress 或 Laravel 类项目常触发超时或内存溢出。调整应基于实际观察而非盲目加大:
立即学习“PHP免费学习笔记(深入)”;
-
max_execution_time = 120:避免大附件上传或报表生成中途断连 -
memory_limit = 256M:低于 128M 容易在 Composer 加载或图像处理时报错 -
post_max_size和upload_max_filesize需同步调高,否则表单提交失败无提示 - 务必重启 Apache(不是仅 reload),让 PHP 配置真正生效
OPcache 是提升响应速度最有效的开关
不启用 OPcache,每次请求都要重新编译 PHP 文件,性能损失可达 30% 以上。只需在 php.ini 中确认以下几项:
-
opcache.enable=1(必须开启) -
opcache.memory_consumption=128(128MB 足够中小型项目) -
opcache.max_accelerated_files=10000(避免“file cache full”警告) -
opcache.validate_timestamps=0(开发环境设为 1,生产环境建议关掉以彻底禁用检查)



















