手把手教你FreeBSD 5.4系统上Apache 2.0.54 PHP ZendOptimizer简易安装配置详细步骤
在 FreeBSD 上搭建 Apache + PHP 运行环境,用 ports 是再省心不过的方式了。下面把从安装到基础配置的完整流程走一遍,更高级的调优技巧不妨先搜一搜 Google——说实话,大部分常见问题前人早就踩过坑了。
第一步:安装 Apache
进入 ports 目录,一行命令搞定:
cd /usr/ports/www/apache2
make install clean;
第二步:安装 PHP 4
同样通过 ports 安装:
cd /usr/ports/www/mod_php4
make install clean;
注意,配置时千万别勾选 debug 选项,否则后面 Zend Optimizer 会罢工。FreeBSD 5.4 release 自带的 PHP 版本是 4.4.0。
第三步:安装 php4-extensions
这一步很容易被忽略,但跳过的后果就是打开 PHP 文件时直接报错:Fatal error: call to undefined function: preg_match()。老老实实装上扩展包:
cd /usr/ports/lang/php4-extensions/
make install clean;
cd /usr/local/etc
cp php.ini-recommended php.ini
第四步:配置 httpd.conf
编辑 Apache 主配置文件:
ee /usr/local/etc/apache2/httpd.conf
先修改文档根目录(按实际需要调整):
#DocumentRoot "/usr/local/www/data"
DocumentRoot "/usr/www"
对应的 段也要同步修改:
#
出于安全考虑,把 Options Indexes FollowSymLinks 中的 Indexes 删掉——否则网站目录下的所有文件会直接暴露给浏览者。
Options FollowSymLinks
将 DirectoryIndex 添加 PHP 支持:
DirectoryIndex index.php index.html index.htm
在 AddType application/x-gzip .gz .tgz 之后加入两行,让 Apache 认识 PHP:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Apache 2.0 新加了 ServerLimit 指令,允许不重编译就调整最大并发数。这里可以按服务器情况修改:
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000
顺便一提,ServerLimit 的硬上限是 20000,对绝大多数站点来说绰绰有余。真要突破?那就得去源码树 server/mpm/prefork/prefork.c 里改这两行:
#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000
不过能用到 20000 并发连接的场景,现实中确实不多见。
第五步:启动 Apache 并设为开机自启
在 /etc/rc.conf 中加入:
apache2_enable="YES"
然后手动启动:
/usr/local/etc/rc.d/apache2.sh start
停止则用:
/usr/local/etc/rc.d/apache2.sh stop
当然 /usr/local/sbin/apachectl start 也行,不过系统生成的脚本用起来更顺手。
第六步:验证 Apache + PHP 是否正常工作
在网站根目录创建测试文件:
cd /usr/www
ee index.php
写入最简单的 PHP 探针:
浏览器里输入你的域名或 IP,看到 phpinfo 页面就算成功。
第七步:安装 Zend Optimizer
先处理一个常见坑——不执行下面这步会报错:
ln -s /lib/libm.so.3 /lib/libm.so.2
或者编辑 /etc/libmap.conf 加入:
libm.so.2 libm.so.3
然后下载最新版 Zend Optimizer(比如 ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz),通过 FTP 或 SFTP 上传到服务器。解压并安装:
tar zxvf ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz
cd ZendOptimizer-2.5.10a-freebsd5.1-i386
./install
安装过程中的几个选项全部默认即可。装完后重启 Apache,再看 phpinfo() 就能看到类似这样的信息:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
with Zend Extension Manager v1.0.8, Copyright (c) 2003-2005, by Zend Technologies
with Zend Optimizer v2.5.10, Copyright (c) 1998-2005, by Zend Technologies
如果喜欢用 ports 方式安装 Zend Optimizer,操作也很简单:将下载的 ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz 放到 /usr/ports/distfiles/ 目录下,然后:
cd /usr/ports/devel/ZendOptimizer
make install clean;
整个基础环境到这就搭建完毕了。如果想折腾更高级的功能,可以参考社区其他帖子——至少按照这个流程走下来,一个能跑 PHP 的 Web 站点就已经就位了。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
微软详解Win11时间点还原 默认每24小时创建恢复点
微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正
Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext
Win11六月可选更新KB5095093修复回收站弹窗异常
微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内
苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M
微软加速Win11 25H2推送 覆盖所有符合条件家用PC
近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送
- 日榜
- 周榜
- 月榜
相关攻略
2026-06-30 07:39
2026-06-30 07:39
2026-06-30 07:39
2026-06-30 07:38
2026-06-30 07:38
2026-06-30 07:38
2026-06-30 07:38
2026-06-30 07:38
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

