Phar::webPhar() - Phar类
Phar::webPhar()
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
mapPhar for web-based phars. front controller for web applications
说明
finalpublicstaticPhar::webPhar([string $alias[,string $index= "index.php"[,string $f404[,array $mimetypes[,callable $rewrites]]]]]): voidPhar::mapPhar() for web-based phars. This method parses$_SERVER['REQUEST_URI']and routes a request from a web browser to an internal file within the phar archive. In essence, it simulates a web server, routing requests to the correct file, echoing the correct headers and parsing PHP files as needed. This powerful method is part of what makes it easy to convert an existing PHP application into a phar archive. Combined with Phar::mungServer() and Phar::interceptFileFuncs(), any web application can be used unmodified from a phar archive.
Phar::webPhar() should only be called from the stub of a phar archive(see here for more information on what a stub is).
参数
$aliasThe alias that can be used inphar://URLs to refer to this archive, rather than its full path.
$indexThe location within the phar of the directory index.
$f404The location of the script to run when a file is not found. This script should output the proper HTTP 404 headers.
$mimetypesAn array mapping additional file extensions to MIME type. If the default mapping is sufficient, pass an empty array. By default, these extensions are mapped to these MIME types:
$rewrites The rewrites function is passed a string as its only parameter and must return a string or FALSE
.
If you are using fast-cgi or cgi then the parameter passed to the function is the value of the$_SERVER['PATH_INFO']variable. Otherwise, the parameter passed to the function is the value of the$_SERVER['REQUEST_URI']variable.
If a string is returned it is used as the internal file path. If FALSE
is returned then webPhar()will send a HTTP 403 Denied Code.
返回值
没有返回值。
错误/异常
Throws PharException when unable to open the internal file to output, or if called from a non-stub. If an invalid array value is passed into$mimetypesor an invalid callback is passed into$rewrites, then UnexpectedValueException is thrown.
范例
A Phar::webPhar() example
With the example below, the created phar will displayHello Worldif one browses to/myphar.phar/index.phpor to/myphar.phar, and will display the source ofindex.phpsif one browses to/myphar.phar/index.phps.
参见
- Phar::mungServer() Defines a list of up to 4 $_SERVER variables that should be modified for execution
- Phar::interceptFileFuncs() Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
It seems that calling Phar::webPhar() from inside a function is a bad idea. Doing so will cause global variables in included files to not be global. For instance, do NOT try this: The output will be "test:", not "test: globals work".
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!