jdomenechb / reactphp-symfony-server
基于Symfony框架的ReactPHP服务器
Requires
- php: >=7.1
- ralouphie/mimey: ^2.1
- react/http: ^0.8.0
- symfony/console: ^4.0|^5.0
- symfony/http-foundation: ^4.0
- symfony/http-kernel: ^4.0|^5.0
Requires (Dev)
README
此库将ReactPHP服务器封装在Symfony 4项目安装之上。
安装(使用composer)
composer require jdomenechb/reactphp-symfony-server
运行此命令后,请确保在运行服务器之前定义一个APP_PORT
环境变量。如果Symfony项目在特定环境中使用DotEnv,它将取自.env
文件中的值。
用法
从您项目的根目录运行
vendor/php/reactphp-server
服务器将通知它正在运行的端口号。
常见问题解答
问题:它是如何工作的?
该库从项目根目录的public/index.php
文件开始读取,直到创建Symfony内核的点。然后,从这个点开始,它接管控制,以提供ReactPHP服务器。
一旦执行,请求将直接发送到服务器,并将其转换为Symfony请求。然后,内核处理这些请求,并最终提供一个响应,该响应被转换回ReactPHP服务器可以理解的响应。
问题:它支持哪些PHP和Symfony版本?
PHP >= 7.1 和 Symfony 4.*。
问题:它也提供静态资源服务吗?
是的,该库支持在项目public
目录下提供静态资源,如图片、CSS和JS。
然而,您可能需要考虑使用其他Web服务器(如Nginx或Apache)来提供服务,因为它们更专注于这项任务。此库主要关注提供PHP请求。
问题:安装此库后,我还能使用其他Web服务器吗?
是的,该库已准备就绪,不会修改您的项目,因此您可以在代码上方运行另一个服务器。
问题:它会与所有类型的Symfony安装一起工作吗?
遗憾的是,无法保证这一点。该库已与从Symfony 4骨架的public/index.php
文件进行测试,并且public/index.php
的修改越多,该库失败的可能性就越大。
因此,我强烈建议您以任何方式为该项目做出贡献。
问题:我可以在使用服务器的同时开发和修改代码吗?
如果您这样做,您可能会遇到页面刷新后您的更改没有显示的情况。这是因为一旦在服务器执行过程中将类加载到内存中,它将保持不变。
为了看到您的更改,您应该重启服务器。
贡献
请随时通过提交拉取请求或打开您可能发现的任何问题来为项目做出贡献。我非常期待收到您的反馈并提高库的质量和功能。