vtardia / simphle
快速简单的PHP开发服务器
Requires
- php: >=5.4
- symfony/process: ~2.6
- vtardia/cli-parser: ^1.0
This package is auto-updated.
Last update: 2022-01-23 21:10:11 UTC
README
Simphle是一个友好的PHP内置Web服务器的包装器,具有一些易于开发的便捷功能。
要求
- PHP 5.4或更高版本,带有内置Web服务器和HTTP扩展
- Symphony Process组件
安装
- Composer
$ composer [global] require vtardia/simphle
使用 global
选项在系统上全局安装
- 自定义
将此存储库克隆到共享目录中,例如Mac上的 /usr/local/php/simphle
或 /Users/Shared/php/Simphle
,然后运行 composer install
。
将 bin
目录添加到本地路径或创建指向 bin/simphle
可执行文件的链接
$ ln -s /usr/local/php/simphle/bin/simphle ~/bin/simphle
用法
基本
在当前目录中以默认设置启动服务器
$ cd /path/to/myapp/docroot $ simphle
中级
从命令行以自定义设置启动服务器
$ cd /path/to/myapp $ simphle [-H host] [-p port] [-c path/to/php.ini] [-r path/to/router.php] [path/to/docroot]
高级
在项目目录中创建一个包含自定义设置的 server.json
文件,然后从该路径启动 simphle
。
{ "host":"0.0.0.0", "port":5000, "docroot":"public", "router":"myrouter.php|default", "ini":"mysettings.ini|default", "controller": "mycontroller.php", "env": { "myvar": "somevalue", "anothervar": { "one": "foo", "two": "bar" } } }
router
和 ini
文件路径相对于当前工作目录。主要的 Simphle
脚本首先在当前工作目录中搜索这些文件,然后搜索 Simphle 的 share
目录。预设路由器和 INI 文件不需要 .php
和 .ini
扩展名。
controller
文件路径相对于文档根目录。
使用 Composer 启动
在 composer.json
中创建一个 scripts
部分
"scripts": { "server": "simphle [options]" }
然后使用以下命令启动
$ composer server
默认路由器
Simphle 的默认路由器试图模拟典型的 Apache .htaccess
文件
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [QSA,L]
如果请求的 URI 存在,则尝试获取它,如果不存在,则搜索 index.php
,最后回退到“404未找到”错误。
使用前端控制器
通过指定 controller
设置,Simphle 使用此文件作为重写目标,而不是 index.php
,因此您可以使用例如 app.php
。
自定义环境
env
部分定义了通过 $_ENV
超全局变量传递给 PHP 文件的环境变量。JSON 对象被转换为关联数组。
有时 $_ENV
超全局变量不为空。这取决于 php.ini
中的 variables_order
设置
; This directive determines which super global arrays are registered when PHP ; starts up. If the register_globals directive is enabled, it also determines ; what order variables are populated into the global space. G,P,C,E & S are ; abbreviations for the following respective super globals: GET, POST, COOKIE, ; ENV and SERVER. There is a performance penalty paid for the registration of ; these arrays and because ENV is not as commonly used as the others, ENV is ; is not recommended on productions servers. You can still get access to ; the environment variables through getenv() should you need to. ; Default Value: "EGPCS" ; Development Value: "GPCS" ; Production Value: "GPCS"; ; https://php.ac.cn/variables-order variables_order = "GPCS"
此设置可以被本地 htaccess
或 php.ini
文件覆盖。
许可证
Simphle 采用 MIT 许可证授权 - 详细信息请参阅 LICENSE
文件。