| 在Zeus Web Server中安装PHP语言支持 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| http://www.sina.com.cn 2004年06月30日 09:18 中文FreeBSD用户组 | |||||||||
|
前言 Zeus是一个运行于Unix下的非常优秀的Web Server,而PHP则是Unix下一个非常优秀的后台脚本语言。 这两个产品都是为非常喜欢的产品。为什么要写这样的一个Howto呢?是因为有大量的网站脚本是使用PHP开发的, 而这些程序运行在Zeus下也是一个非常好的选择。写这份文档的目的在于能让大家的PHP系统良好的运行于Zeus服务器上。 很早的时候我写过一份整合Zeus和PHP的文章,它主要是讲如何将PHP以FastCGI的本地调用方式来运行于Zeus中的, 本份Howto主要是来讲如何让PHP运行于Remote Responders方式下。因为这样会比以local方式有更高的可扩展性和运行效率。 准备工作首先你应该Zeus安装完成,也不会过多的讲如何安装和配置Zeus服务器本身,因为它的安装和配置实在是太简单了。 如果有可能,最好将ports使用cvsup来升级一下。 对于PHP依赖的相关软件如果能提前装,则从ports中安装好。如MySQL、GD等。 安装fastcgi 注意,如果你安装的PHP的版本会低于4.3.0哪么你才需要这步。新的PHP版本已经内置了fastcgi的库。安装fastcgi的方法非常的简单: root@~$cd /usr/ports/www/fcgi/ 编译完成后我们可以在/usr/local/lib目录中看到有libfcgi.a文件,同时在/usr/local/include目录中会有fastcgi的所有头文件。
root@/usr/ports/www/fcgi$make;make install;make clean 编译PHP 编译PHP可以使用通常的PHP编译选项,下面是我使用的一个配置: ./configure --prefix=/usr/local/php --enable-fastcgi --with-mysql=/usr/local 需要注意的是在PHP 4.3.0以上版本是使用的 --enable-fastcgi 选项,而PHP 4.3.0以前的版本应使用--with-fastcgi参数。 接着就是安装PHP到系统中: make 编译完成后,我们来测试一下安装的php是能正确运行: make install root@~$cd /usr/local/php/bin/ 这时将进入php代码输入状态,输入 root@/usr/local/php/bin$./php <? phpinfo(); ?> 按ctrl-d运行后会见到php返回的信息则为正确。 配置FastCGI/PHP 配置FastCGI 进入Zeus管理控制台,打开需要配置的VHost配置。进入 API Support 中的 FastCGI 设置。在其中设置: Enabling Support for FastCGI Programs : Enable 在Configuring FastCGI Remote Responders中设置: Directory name : /usr/local/php/bin/php Location: Machine name: localhost Additional methods supported?:None 如果你的PHP应用不在本机,即使PHP没有安装在本机上,哪么也要设置 Docroot path 参数,它可以不存在于相应的目录下。 都设置完成后,点击 Apply 按钮。 配置PHP解析指向 进入 URL Handling 中的 Handlers 设置。在 Adding a Handler 中设置以下参数: File Extension : php 在Zeus的rc.d目录中新建一个S05php的文件,内容为: #!/bin/sh 在这个脚本中有以下内容需要视系统情况而 修改:
# Script to start and stop the persistent PHP runner for FastCGI. # FastCGI PHP binary # Location to place semaphore # This is Linux - use /proc to increase the local (ephemeral) port range if [ -z "$ZEUSHOME" ] case "$1" in if [ -e $SEMFILE ] if [ ! -x $FPHPBIN ] echo Starting FastCGI PHP. 'stop') esac FPHPBIN=/usr/local/php/bin/php 应设置为php的路径 chmod 755 S05php 一但启动后就会在ps -ax列表中显示出PHP_FCGI_CHILDREN+1个php进程。./S05php start 到你的vhost对应的Docroot目录中建一个info.php文件,内容为: <? 使用浏览器访问vhost中的info.php文件,应该就可以看到PHP的info页面了。
phpinfo(); ?> 附注 感谢CCF的坛主hunreal写出的S05php脚本,它真的非常好用! 如果还有什么想了解的可以到 Zeus PHP支持 页得到更多的信息。 注:任何转载或摘抄请注明文章出处(中文FreeBSD用户组 http://www.cnfug.org)
|
















