2012-03-26 63 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