2012-03-26 62 views
0

我一直在使用类特征和缩短的数组语法,除此之外,还没有真正做过更多的研究,因为它们是我见过并且每天都在使用的两个主要特征,还有什么我们应该注意的?PHP 5.4有什么新功能?

我不确定的一个新功能是内置的HTTP服务器。这个工作究竟如何,以及这会带来怎样的安全风险呢?

+6

http://php.net/ChangeLog-5.php – 2012-03-26 20:05:56

+0

http服务器不推荐用于生产 - 它仅用于开发。 – halfer 2012-03-26 20:23:47

回答

5

如果您想查看所有已更改的内容,请查看更改日志。如果你想快速浏览一些已经改变的更酷的东西,我最近就介绍了它。你可以在这里看到演示:http://prezi.com/cbjdu1vtrpgm/php-54/

更改日志是在http://php.net/ChangeLog-5.php

如果你有兴趣在什么新的内置Web服务器带来的,它很酷。您可以使用

php -S <ip address>:<port> 

i.e. 

php -S 127.0.0.1:8888 

您应该在所需服务器的文档根目录中启动服务器。如果你需要做路由或任何Apache的.htaccess会做,你可以写一个PHP脚本,并指定其为路由器,像这样:

php -S <ip address>:<port> router.php 

路由器的方式,如果你的脚本返回false作品,它将提供通常在其中找到的目录/路径中的文件。否则,您的脚本可以包含其他文件,或者做任何您需要的文件。一个非常基本的路由器的例子是在php.net文档站点:

http://php.net/manual/en/features.commandline.webserver.php#example-369

我认为最好的东西内置的服务器在PHP 5.4的是,它会让这么多的人更容易一个谁刚开始学习PHP时,无需安装和配置Apache或其他Web服务器即可学习。

这就是说,它只是用于学习,我不认为有人会建议使用内置的Web服务器运行真正的生产服务器。

+0

好吧,你可以在一个目录中运行一个服务器吗?或者在根?这是我感到困惑的地方。如果我已经在运行Apache并在同一目录中启动php服务器,它们会相互冲突吗? – dcd018 2012-03-26 20:36:31

+0

你可以在任何你想要的地方运行php内部服务器。启动它的目录与Apache中的DocumentRoot类似。在启动PHP服务器时指定要绑定到的IP和端口,所以如果Apache已经运行,您将无法指定与apache正在监听的端口相同的端口。 – 2012-03-26 20:54:28

+0

您的演示文稿非常棒。 – neokio 2012-08-27 14:39:48