如何获取合适的Squid版本

Obtaining PHPThis section has details about PHP download locations, and
OS issues. 1. 我在哪儿能得到PHP? 2. 有预编译的二进制版本吗? 3.
我在哪儿能得到可选的PHP扩展库 ? 4. 我怎样做才能使这些库运作起来? 5.
我在我的windows上用CVS得到最新版本的PHP源代码, 我怎样编译它? 6.
我在哪儿能找到 Browser Capabilities File?1.
我在哪儿能够得到PHP?你可以在任何PHP成员站点上下载PHP. 这些站点可以在
找到。 你也可以使用匿名CVS
得到绝对是最新版本的源代码。要想知道更多的CVS信息, 请查阅 2.
有预编译的二进制代码吗?
?我们仅仅发布windows下的二进制代码,因为我们不可能编译完每一种主机下的PHP不同选项的二进制代码
还有的是,许多Linux内置PHP。Windows下的二进制代码可以在我们的站点上下载
, 而Linux的二进制版本, 请参阅你的Linux发布商的站点。 3.
我在哪儿能得到可选的PHP扩展库 ? 注意: 那些标有*的不是 thread-safe 库,
不应该作为多线程的Windows web servers (IIS,
Netscape)的模块来使用。它们在 Unix/Linux平台下是没有这个限制的。 LDAP
(Unix). LDAP* (Unix). LDAP (Unix/Win) : Netscape Directory (LDAP) SDK
1.1. free LDAP server. Berkeley DB2 (Unix/Win) : SNMP*澳门新浦京8455com , (Unix): . GD*
(Unix/Win). mSQL* (Win). mSQL* (Unix). PostgreSQL (Unix). IMAP*
(Win/Unix). Sybase-CT* (Linux, libc5) : Available locally. FreeType
(libttf):. ZLib (Unix/Win32). expat XML parser (Unix/Win32). PDFLib.
mcrypt. mhash. t1lib. dmalloc. aspell. readline. 4.
我怎样使这些库运作起来?你需要按着提供的库指引来做.
有一些库是在你运行PHP配置脚本的时候自动被检测到的,
而另外的一些库,你不得不 ‘–with-EXTENSION’ 打开选项 ‘cofigure’. 运行
‘configure –help’ 可以看到这些信息. 5.
我在我的windows上用CVS得到最新版本的PHP源代码, 我怎样编译它?
首先,你必须安装 Microsoft Visual C++ v6 (v5
也可以,但我们是在v6下),你需要一些支持文件. ,参见手册
在Windows下编译PHP. 6. 我在哪可以找到 Browser Capabilities
File?你可以在下面的站点 找到一个名为 browscap.ini 的文件

Squid开发者定期发布源代码。每一个发布版有一个版本号,例如2.5.STABLE4。版本号的第三部分以STABLE或DEVEL短期开发版本)开头。

也许你能猜到,DEVEL版本倾向于拥有更新,更试验性的功能。但也许它们有更多的bugs。无经验的用户不应该运行DEVEL版本。假如你选择运行一个DEVEL版本,并且遇到了问题,请将问题报告给Squid维护者。

在一段时间的开发期后,Squid版本号变为STABLE。该版本适合于普通用户。当然,即使稳定版可能也有一些bugs。高的稳定版本例如STABLE3,STABLE4)应该bugs更少。假如你特别关心稳定性,你应该使用这些最近发布版本中的一个。

使用源代码

为什么你不能copy一份预编译的二进制代码到你的系统中,并且期望它运行良好呢?主要理由是squid的代码需要知道特定操作系统的参数。实际上,最重要的参数是打开文件描述符的最大数量。Squid的./configure脚本在编译之前侦察这些值。假如你获取一个已编译的使用某个参数值的squid到另一个使用不同参数值的系统中,可能会遇到问题。

另一个理由是许多squid功能在编译时必须被激活。假如你获取一个别人已编译的squid文件,它不包含你所需要的功能,那么你又得再编译一遍。

最后,共享库的问题可能使得在系统之间共享可执行文件困难。共享库在运行时被装载,如已知的动态链接一样。squid在编译时会侦察你系统中的C库的某些功能例如它们是否被提供,是否能运行等)。尽管库功能不常改变,但两个不同的系统的C库之间可能有明显的区别。如果两个系统差别太大,就会对Squid造成问题。

获取squid的源代码是非常容易的。请访问squid的首页:

每一个squid发布版分支例如Squid-2.5)有它自己的HTML页面。该页面有链接指向源代码,以及与其他发布版的差别。假如你从一个发布版升级到下一个,你应该下载这些差别文件,并且打上补丁,请见3.7章节中的描述。每个版本的发布页描述新功能和重要的改进,也有链接指向已经修正的bugs。

如果web访问不可行,你能从ftp://ftp.squid-cache.org的FTP服务器获取源代码,或者使用其他FTP镜像。要获取当前版本,请访问pub/squid-2/DEVEL
或 pub/squid-2/STABLE
目录。FTP镜像也在许多国家有,你能用同样的国家代码去猜测一些FTP镜像站点,例如ftp1.uk.squid-cache.org。

当前的Squid发布版本大约1M大小。在下载完压缩的打包文件后,你能继续第3章。

预编译的二进制文件

一些Unix发布版可能预包含了Squid的编译版。对Linux系统,你可以找到Squid的RPM包。通常squid
RPM包含在你所买的Linux光碟里。Freebsd/Netbsd/OpenBSD也在它们的ports或者packages里面包含了squid。

虽然RPM或者预编译的packages能节省你一些时间,但它们也有一些弊端。就像我提过的一样,在你开始编译squid之前,某些功能必须被激活或禁止。而你安装的预编译的包可能不包含你想要的特定功能。而且,squid的./configure脚本侦察你系统中的特定参数,这些在你系统中的参数可能与编译它的机器的参数不同。

最后,假如你想对squid打补丁,你必须等某个人编译更新的RPM或packages,或者你还得自己找源代码编译。

我强烈建议你从源代码编译squid,当然怎样选择由得你。

匿名CVS

你能匿名访问squid的CVS文件只读)以保持你的源代码同步更新。使用CVS的有利面是你能轻易获取当前运行版本的补丁。这样就容易发现近来改变了什么。

将这些补丁打到你所运行的版本中,有效的保持你的源代码和官方版本的同步。

CVS使用树型索引系统,树干叫做头分支。对Squid而言,这里也是所有的新改变和新功能的存放之地。头分支通常包含试验性的,也许不太稳定的代码。稳定的代码通常在其他分支上。

为了有效的使用squid的匿名CVS,你首先应知道版本和分支是怎样被标明不同的。例如,版本2.5分支被命名为SQUID_2_5。具体的发布有长的命名,例如SQUID_2_5_STABLE4。为了得到squid版本2.5.STABLE4,请使用SQUID_2_5_STABLE4标签;使用SQUID_2_5得到最近的2.5分支的代码。

为了使用squid匿名CVS服务,你首先必须设置CVSROOT环境变量:

csh% setenv CVSROOT :pserver:[email protected]:/squid

或者,对Bourne shell用户:

sh$ CVSROOT=:pserver:[email protected]:/squid

sh$ export CVSROOT

然后你就可以登陆到服务器:

% cvs login

(Logging in to [email protected])

CVS password:

在提示符下,敲入anoncvs作为密码。现在你可以用这个命令检查源代码树:

% cvs checkout -r SQUID_2_5 -d squid-2.5 squid

-r选项指定获取修订标签。省略-r选项你将获得头分支。-d选项改变存放文件的顶级目录名。假如你省略-d选项,顶级目录名就与模块名字一样。最后的命令行参数squid)是要检查的模块名字。

一旦你检查完squid源代码树,你能运行cvs
update命令去升级你的文件,和保持文件同步。其他命令包括:cvs diff, cvs
log, 和 cvs annotate。

想获取更多CVS知识,请访问:

devel.squid-cache.org

Squid的开发者维持一个独立的站点,当前运行在SourceForge,提供了试验性的squid功能。请检查它们在

也许你能猜…

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图