iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP 的运行方式有哪些?
  • 177
分享到

PHP 的运行方式有哪些?

php服务器开发语言 2023-09-10 18:09:01 177人浏览 安东尼
摘要

PHP本质上的运行方式可以分为两种: 基于命令行的基于php-FPM的 但实际上,PHP能做的事很多,很多场景下,不同的运行方式能让开发更方便,减轻各种工作。 测试开发 PHP内置了一个Http 的s

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

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

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

测试开发

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

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

php -S localhost:8000

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

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

// router.phpif (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"]))    return false;    // 直接返回请求的文件else {     echo "

Welcome to PHP

"
;}

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

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

php think run

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

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

传统的部署方式

PHP的FPM是黑科技,这是真的,稳如老狗,怎么折腾都不会出问题,每个请求之间隔离得清清楚,互不影响,这一点当你在用Java、nodeGo等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武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

来源地址:https://blog.csdn.net/m0_57713228/article/details/129460641

--结束END--

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

本文链接: https://www.lsjlt.com/news/402519.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP 的运行方式有哪些?
    PHP本质上的运行方式可以分为两种: 基于命令行的基于PHP-FPM的 但实际上,PHP能做的事很多,很多场景下,不同的运行方式能让开发更方便,减轻各种工作。 测试开发 PHP内置了一个HTTP 的s...
    99+
    2023-09-10
    php 服务器 开发语言
  • PHP有哪些运行模式
    这篇文章将为大家详细讲解有关PHP有哪些运行模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。运行模式:1、CGI协议模式,服务器通过特定协议与程序通信;2、“fast-cgi”协议模式,开启后可一直处理...
    99+
    2023-06-14
  • 运行Shell的方式有哪些
    这篇文章将为大家详细讲解有关运行Shell的方式有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Shell 一共有四种运行方式:交互式的登录 Shell;交互式的非登录 Shell;非交...
    99+
    2023-06-06
  • Typescript的运行方式有哪些
    这篇文章主要介绍Typescript的运行方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、在线complier这种方式最简单,不需在本地做任何配置安装,只需进入Types...
    99+
    2022-10-19
  • 运行nodejs的方式有哪些
    有多种方式可以运行Node.js代码:1. 命令行:在命令行中输入 `node ` 即可运行指定的Node.js文件。2. REPL...
    99+
    2023-08-16
    nodejs
  • android运行的方式有哪些
    Android运行的方式有以下几种:1. 手机运行方式:Android系统最常见的运行方式是在移动设备上,例如智能手机和平板电脑上运...
    99+
    2023-08-23
    android
  • php中有哪些运行模式
    本篇文章给大家分享的是有关php中有哪些运行模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开...
    99+
    2023-06-14
  • python运行加速的方式有哪些
    本篇内容主要讲解“python运行加速的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python运行加速的方式有哪些”吧!目录一、总结二、全面加速(pypy)二、减少文件的打开即wi...
    99+
    2023-06-20
  • Python中运行程序的方式有哪些
    本篇文章为大家展示了Python中运行程序的方式有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对...
    99+
    2023-06-14
  • Tomcat的运行模式有哪些
    Tomcat的运行模式有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。tomcat的运行模式有3种一、bio(blocking I/O)即阻塞式I/O操作,表示Tomcat...
    99+
    2023-05-31
    tomcat omc tomca
  • Docker容器的创建运行方式有哪些
    这篇文章主要介绍“Docker容器的创建运行方式有哪些”,在日常操作中,相信很多人在Docker容器的创建运行方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Dock...
    99+
    2022-10-19
  • workerman程序在PHP中的运行模式有哪些
    这篇文章给大家分享的是有关workerman程序在PHP中的运行模式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   我们知道workerman程序需要在php-cli...
    99+
    2022-10-19
  • php中cli和cgi运行模式有哪些区别
    这篇文章主要讲解了“php中cli和cgi运行模式有哪些区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中cli和cgi运行模式有哪些区别”吧!区别:CLI指的是命令行的运行模式,即...
    99+
    2023-07-05
  • vb运行程序的方法有哪些
    在VB中,有多种方式可以运行程序:1. 使用开发环境直接运行:在Visual Studio等VB开发环境中,可以直接点击“开始”按钮...
    99+
    2023-08-23
    vb
  • JavaScript展开运算符的方式有哪些
    这篇文章主要讲解了“JavaScript展开运算符的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript展开运算符的方式有哪些”吧!...
    99+
    2022-10-19
  • php标记的方式有哪些
    PHP标记的方式有以下几种:1. 短标记:``2. 字符串标记:` `3. 长标记:``4. 短标记:``需要注意的是,其中短标记(...
    99+
    2023-08-08
    php
  • 云服务器有哪几种方式运行的
    云服务器(Cloud Server)可以分为以下几种方式运行: PaaS: 提供软件即服务(SaaS)的服务,客户使用该服务可以不通过服务器硬件,也不需要服务器的基础设施即可获得所需的服务。这种方式通常用于一些通用应用程序,例如电子邮件...
    99+
    2023-10-26
    几种 方式 服务器
  • 云服务器有哪几种方式运行
    云服务器是一种提供动态的云服务,可以将计算资源托管在公共云平台上。以下是云服务器的几种运行方式: 私有云服务器: 由一个专门的计算机组成,只为特定组织或者组织内的用户提供服务。这类服务器的优势是能够为整个组织或者组织内的用户提供集中的计...
    99+
    2023-10-26
    几种 方式 服务器
  • python运行脚本文件的方法有哪些
    本篇内容介绍了“python运行脚本文件的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python脚本执行的3种方法:(找到自己...
    99+
    2023-07-02
  • 让SQL运行得更快的方法有哪些
    本篇内容介绍了“让SQL运行得更快的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!----&nb...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作