保持更新

PHP 和其它的大型系统一样,在持续的研究和改进中。每一个版本都会有或多或少的改进来增强安全性和修复任何缺陷,配置问题以及任何会影响到整个系统安全与性能的问题。

和其它系统级的脚本语言一样,最好的途径是经常更新,并时刻留意最新版本及其改变。

User Contributed Notes

Tapani Talvitie 22-Jul-2006 12:29
> Users might also like to use the latest features in PHP5,
> but the host may still be using PHP4.
>
> Hosts might also be running with register_globals on. As
> reported elsewhere in the comments on this site, when
> some hosts turned it off, they got several emails about
> broken scripts. So the hosts simply turned register_globals
> back on.

> The only solutions, besides pestering the web host to
> upgrade, are to change to a different, more modern
> host, or consider renting a virtual server where you can
> set up PHP yourself.

Another solution could be that the web hosting firms would run a new (virtual) server when a new major PHP version is released. The new server would have all security related settings turned on. This way new customers would automatically get the new features and old ones could ask to be moved. All clients would be informed about the possibility to update, so that the not-so-active web masters could start their slow transition process in the following months.

There is of course a downside in this solution too: web hosting firms would need to maintain several PHP version. One way to solve this would be to limit available php versions to two. If for example the host has php4 and php5 servers and then php6 is released, php4 users would be forced to move to the newer version. A major php releases come out once or twice in the year(?) That would give 1-2 years for the slow web masters to adjust ;-)
Chris Hester 08-Sep-2005 11:49
The problem lies in everyday web hosting firms which often seem to employ old versions of PHP. The user is therefore stuck. They may also be at risk as security patches won't be present. Users might also like to use the latest features in PHP5, but the host may still be using PHP4.

Hosts might also be running with register_globals on. As reported elsewhere in the comments on this site, when some hosts turned it off, they got several emails about broken scripts. So the hosts simply turned register_globals back on.

The only solutions, besides pestering the web host to upgrade, are to change to a different, more modern host, or consider renting a virtual server where you can set up PHP yourself. Of course this is likely to be more expensive and so not suitable for the average person. It just seems a shame to be stuck using older versions of PHP which are less secure than the latest one.