PHP5.4内置网络服务器
PHP是一种脚本语言,需要一个PHP解释器来分析和运行PHP文件。当PHP被用作CGI服务Web请求时,它需要嵌入到某种Web服务器中,最常见的是集成到Apache或IIS中。也就是说,在使用PHP之前,需要安装Apache或IIS,并用PHP正确配置它们的集成参数。虽然这种配置非常标准,文档也非常丰富,但是我们在安装Apache和PHP集成时经常会遇到问题。此外,有时我们只想测试一个简单的PHP特性,而不想为此安装和启动Apache服务。
但是根据官方文件,这款内置的Web服务器只是为了开发和测试,不建议在生产环境中使用。因为此服务器接受处理请求并按顺序执行它们,所以它不能同时处理它们。
这个内置的web服务器使用起来非常方便,您只需要执行以下命令:
然后可以访问$ php -S localhost:8000。启动后,默认的web服务目录是执行命令的当前目录。如果不想使用当前目录,则需要使用-t参数来指定它。
示例#1启动网络服务器
$ CD ~/public _ html $ PHP-s localhost :8000终端输出信息:
PHP 5.4.0开发服务器于7月21日星期四启动103:4:28 2011在localhost上安装:8000文档根目录为/home/me/Public _ HTMl按Ctrl-C退出,请求地址为http://localhost 33608000/和http://localhost 33608000/myscript . html后,终端输出如下信息:
PHP 5.4.0开发服务器于7月21日星期四启动10:4:28 2011在localhost上安装:8000文档根目录为/home/me/public _ HTMl按Ctrl-C退出。[2011年7月21日星期四10:48:48]:33601336039144 GET/fav icon . ico-请求读取[2011年7月21日星期四10:48:50]:336013:36039146 GET/-请求读取[2011年7月21日星期四10333366]
$ CD ~/public _ html $ PHP-s localhost :8000-t foo/终端显示信息:
PHP 5.4.0开发服务器于7月21日星期四启动10:50336026 2011在localhost上安装:8000文档根目录为/home/me/public _ html/foo按Ctrl-C退出如果在启动命令行中附加一个PHP脚本文件,这个文件将被视为“路由器”脚本。这个脚本将负责所有的HTTP请求。如果此脚本在执行时返回FALSE,则请求的资源将正常返回。如果不是FALSE,由该脚本生成的内容将显示在浏览中。
示例#3使用路由器脚本
在本例中,对图片的请求将返回相应的图片,但对HTML文件的请求将显示“欢迎使用PHP”:
?PHP//router . PHP if(preg _ match('/\)。(?png|jpg|jpeg|gif)$/',$ _ SERVER[' REQUEST _ URI ']){ return false;//按原样提供请求的资源。} else { echo ' pWelcome to PHP/p ';}?$ PHP-s localhost :8000 router.php示例#4确定是否使用了内置web服务器
通过程序判断调整同一个PHP路由器脚本在内置Web服务器和生产服务器中的不同行为:
?PHP//router . phpif(PHP _ SAPI _ name()==' CLI-server '){/*路由静态资产并返回false */}/*继续正常的index.php操作*/?$ PHP-s localhost :8000 router.php,一个内置的web服务器,可以识别一些标准的MIME类型资源,它们的扩展名是:CSS,gif,htm,html,jpe,JPEG,jpg,js,巴布亚新几内亚。SVG和。txt。对…的支持。htm和。svg仅在PHP 5.4.4之后才得到支持。
示例#5处理不支持的文件类型
如果您希望此网站服务器正确处理不支持的MIME文件类型,请执行以下操作:
?PHP//router . PHP $ path=path info($ _ SERVER[' SCRIPT _ FILENAME ']);if($ path[' extension ']==' ogg '){ header(' Content-type : video/ogg ');read file($ _ SERVER[' SCRIPT _ FILENAME ']);} else {返回FALSE}?$ PHP-s localhost :8000 router.php如果您想远程访问这个内置的web服务器,您的启动命令需要更改如下:
示例#6远程访问这个内置的网络服务器
$ php -S 0.0.0.0:8000,这样您就可以通过端口8000远程访问这个内置的web服务器。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:PHP5.4内置网络服务器是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。