PHP 的运行方式有哪些?
创始人
2024-06-01 13:01:10
0

PHP本质上的运行方式可以分为两种:

  • 基于命令行的
  • 基于PHP-FPM的

但实际上,PHP能做的事很多,很多场景下,不同的运行方式能让开发更方便,减轻各种工作。

测试开发

PHP内置了一个HTTP 的server。这意味着,很多时候,我们不需要nginx、apache、php-fpm、配置站点等等繁琐的操作,直接就可以运行php的代码。

比如这样简单的一行命令:

php -S localhost:8000

此时当前目录下的各类html、静态文件、php代码就都能正常返回运行了。

可以定义一个路由文件router.php,设置一些规则:

 echo "

Welcome to PHP

"; }

上面的路由文件定义了,当请求图片时返回图片,否则返回一段html代码。

ThinkPHP自5.1的版本起,内置封装了PHP的内置服务器。只要再TP项目下运行命令:

php think run

这样这个框架就运行起来了,不需要配置Nginx、Apache、静态规则、站点的目录、域名host等等等,一行命令就可以开始开发了。现在我在本地开发的时候,只把对应版本的PHP配置到环境变量里,其他的各类nginx等软件一律不用,开发非常方便。

不过这种方式只能用于测试开发或者临时演示来用。PHP的内置服务器不能处理并发请求,所有的请求(包括css、js等文件)都只能一个一个的处理。但是做开发是完全足够的。

传统的部署方式

PHP的FPM是黑科技,这是真的,稳如老狗,怎么折腾都不会出问题,每个请求之间隔离得清清楚,互不影响,这一点当你在用Java、Node、Go等Http框架下开发时就会体会到了。

一般而言,PHP-fpm和nginx配合。这也是最常见的运行方式,资料很多,也有很多成熟的面板帮助开发者配置,这里不多介绍。但这里希望强调一点,一定要开启opcache、一定要开启opcache、一定要开启opcache。

开启opcache之后,直接无脑的获得巨大的性能提醒。如今的PHP项目,PHP代码很多,因为使用composer依赖等,随随便便几百个文件或者小一千个文件是常态,有些重量级框架动辄几十M甚至上百M的代码,如果不开启是opcache,老狗也会难受。

基于TCP/UDP的网络编程

PHP有各种内置的网络编程扩展和函数,但是用起来比较麻烦,不直观。但是现在有很多成熟且流行的网络编程框架,可以基于TCP和UDP协议进行各类业务的开发,比如例如即时通讯类、物联网、游戏、服务治理、其它服务器或者中间件、微服务等。

我也多次介绍过这些项目了,他们也都很热门,这里不再过多介绍:

Workerman

基于官方扩展使用纯PHP开发的网络编程和进程管理库,内置进程守护。

Swoole

纯C开发的PHP扩展库,高性能、协程。

ReactPHP

像Node一样的事件驱动框架。国外热门主流,衍生了非常多的有趣的项目,比如有人用它实现了一套Redis server。

Swow

使用C和PHP实现的一套框架,专注于IO。

GatewayWorker

基于Workerman开发的长连接框架,开发体验极佳,自动抹平协议沟通,实现TCP、websocket等各种协议的对接,支持分布式部署。

其他还有很多,大家可以留言。

Revolt

未来事实上的PHP异步、协程标准。

基于TCP和Linux事件机制的高性能HTTP框架

其实就是基于上面介绍的框架实现的专门用于HTTP开发的框架。刚才介绍的框架基本是能够实现TCP、UDP网络编程的,本小节主要介绍开发HTTP的部分,大部分也是基于上面这些框架实现的。

Webman

基于Workerman的高性能HTTP框架,简单易用,基本的MVC体验。

Swoole系

基于swoole扩展实现的高性能HTTP框架,比如easyswoole,Hyperf等等。

PHP-PM

基于ReactPHP实现的PHP进程管理,可以无缝与标准的请求、响应框架集成驱动。

RoadRunner

GO语言编写的PHP应用服务框架。

此类框架很多,不多介绍了。

基于命令行的业务

确实很少有人这么做,很少有人开发在命令行下的项目,如果有这种需求,一般是使用ThinkPHP、laravel等框架提供的自定义命令去实现了。但不代表PHP没有这方面的成熟的框架。

[minicli/minicli]极简的命令行框架

一个PHP的极简的无依赖的命令行类库.可以非常方便的结构化的程序逻辑和漂亮的输出.

[psy/psysh]一个PHP的实时交互控制台

PsySH是一个实时运行的交互的命令行项目。

[league/climate]一个PHP功能健全的命令行功能操作库

一个事实上的PHP标准的命令行框架。

SeverLess服务

可能有些PHP没接触过这个概念,大体的意思是,不用自己部署运维服务器了,只要把代码上传到severless的服务上即可,按计算扣积分。基本都是各大服务器厂家提供的服务。其中laravel对其有很好的支持,其他也有一些框架能够很容易的实现。比如Bref,简单且可扩展的服务框架。

总结

所以总的来说,PHP有各种的方式,对应不同的业务场景。

其他还有一些很有意思的项目,比如:

  • KPHP,把PHP编译成C++代码。
  • peachpie,把PHP便以为.NET平台程序
  • PHP-JS,集成Node引擎的PHP扩展
  • PHP-CPP,使用C++开发PHP扩展,代码很容易上手

这些项目在我的另一篇文章有介绍:

《PHP的几个有趣的打开方式:从基本到变态》https://phpreturn.com/index/a623dc0357dead.html

其他

最近又出了几个PHP代码“编译”功能的项目,主要的目并不是性能,而是源码保护,ulthon_admin的有个分支正在做这件事,还没有正式发布,另外一个国人开发的项目,也没正式上线,总体思路也是这个,等以后详细为大家介绍介绍。

原文标题:PHP 的运行方式有哪些?

原文地址:https://phpreturn.com/index/a640bdfa37386b.html

原文平台:PHP武器库

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

相关内容

热门资讯

安卓系统文件解压缩,轻松掌握文... 你有没有遇到过这种情况:手机里下载了一大堆安卓系统文件,但是不知道怎么解压缩呢?别急,今天就来给你详...
安卓系统有深夜模式吗,揭秘深夜... 安卓系统有深夜模式吗?夜幕降临,手机屏幕的亮光在黑暗中显得格外刺眼。你是否有过这样的困扰:深夜时分,...
安卓系统a收音机,尽享无线音域 你有没有想过,在安卓手机上,除了刷剧、聊天、玩游戏,还能干点啥?今天,就让我带你一探究竟,看看安卓系...
安卓怎么退回老系统,安卓系统升... 手机用久了,是不是觉得新系统越来越卡,老系统那个熟悉的感觉又回来了?别急,今天就来教你怎么把安卓手机...
安卓系统44限制吗 最近你的安卓手机是不是突然感觉有点儿“力不从心”了呢?别急,让我来给你揭秘一下安卓系统44的限制之谜...
闪回门店系统安卓版,焕新零售体... 你有没有想过,那些曾经陪伴我们度过无数美好时光的门店,现在是不是还留在你的记忆里呢?今天,就让我带你...
安卓系统和windows同步,... 你有没有发现,手机里的照片、文档、音乐,还有那些重要的联系人信息,有时候真是让人头疼,因为它们都分散...
安卓系统在哪儿开源,从诞生到全... 你有没有想过,安卓系统这个我们每天不离手的家伙,它到底是从哪儿来的呢?没错,就是开源!今天,就让我带...
三星安卓系统711,探索创新与... 你有没有发现,最近手机圈里又掀起了一股热潮?没错,就是三星的新款手机,搭载的安卓系统7.1.1。这可...
安卓系统应用无法启动,探究无法... 手机里的安卓系统应用突然打不开,是不是让你心头一紧?别急,今天就来给你详细解析一下这个问题,让你轻松...
安卓主题仿苹果系统吗,探索苹果... 你有没有发现,最近手机界又掀起了一股风潮?那就是安卓手机上的主题设计,竟然开始模仿苹果系统的风格了!...
安卓系统盒马餐饮熟食,安卓系统... 你有没有发现,现在的生活越来越离不开手机了?尤其是安卓系统,几乎成了我们生活中不可或缺的一部分。这不...
thinkpad8安卓双系统,... 你有没有想过,一台笔记本电脑既能满足你工作时的严谨需求,又能让你在闲暇时刻畅游安卓世界?今天,就让我...
想看安卓系统u青年影院,U青年... 亲爱的读者们,你是否也和我一样,对安卓系统的电影应用充满了好奇?今天,就让我带你一起探索一个特别的地...
安卓系统王者荣耀更新慢,探究原... 最近你是不是也遇到了这个问题?每次打开王者荣耀,总是慢吞吞的,让人等得心痒痒。安卓系统的王者荣耀更新...
安卓系统怎么装ios系统软件,... 你是不是也和我一样,对安卓系统上的iOS软件垂涎欲滴呢?想象在安卓手机上流畅运行《王者荣耀》或者《原...
蓝牙系统和安卓哪个好使,谁更胜... 蓝牙系统和安卓哪个好使?这个问题,相信不少手机用户都曾纠结过。蓝牙系统,作为无线通信技术的一种,让我...
安卓系统停用怎么回事 最近你的安卓手机是不是突然有点儿“闹脾气”了?屏幕上突然弹出一个通知,告诉你安卓系统要停用了?别急,...
安卓系统照片怎么发视频 你是不是也和我一样,手机里存了好多珍贵的照片,突然想和朋友们分享一段美好的回忆呢?别急,今天就来教你...
永远会用安卓系统的手机 亲爱的手机控们,你是否也有那么一款手机,它陪伴你度过了无数个日夜,成为了你生活中不可或缺的一部分?没...