php的4种常见运行方式

yizhihongxing

PHP有四种常见的运行方式,分别是在服务器端和客户端的运行,以及CLI和CGI。

服务器端运行方式

Apache模块方式

在Apache中,PHP可以作为模块运行。这种方式需要在Apache的httpd.conf配置文件中,加入以下行:

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php

其中LoadModule用来加载PHP模块,.so表示插件文件的扩展名,AddType用来定义PHP文件的MIME类型。

FastCGI方式

FastCGI是一种CGI的实现方式,与普通的CGI相比,可以提升服务器性能。在FastCGI中,PHP以进程池的方式运行。可以在Apache的配置文件中加入以下行实现:

FastCGIExternalServer /path/to/php-fpm -socket /tmp/php-fpm.sock -pass-header Authorization
AddType application/x-httpd-php .php
Action application/x-httpd-php /path/to/php-fpm

其中-socket指定了FastCGI进程池的通讯sock,-pass-header Authorization表示在请求中传递Authorization头信息。

客户端运行方式

Command-line interface (CLI)

CLI模式是在终端中以命令行的方式运行PHP代码。常见用法为:

php /path/to/script.php arg1 arg2

其中/path/to/script.php为需要执行的PHP脚本,arg1arg2为传递给PHP脚本的参数。

CGI方式

CGI是一种通用的Web服务器接口,是连接Web服务器和应用程序的标准。可以在nginx等Web服务器中使用CGI方式运行PHP。在nginx配置文件中加入以下行:

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

以上配置文件表示,将以.php结尾的请求,指向本地的9000端口,执行PHP脚本。

示例说明

示例一:使用Apache模块方式运行PHP

假定你的Apache安装在/etc/httpd/下,在httpd.conf文件中加入以下行:

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php

保存并重启Apache。此时,在/var/www/html/下创建PHP文件index.php,写入以下内容:

<?php
phpinfo();

在浏览器中输入http://127.0.0.1/index.php,则可以看到PHP的详细信息。

示例二:使用CLI方式运行PHP

在终端中输入下面的命令行:

php -r 'echo "Hello, world!\n";'

输出结果为:

Hello, world!

表示已经运行PHP脚本成功。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php的4种常见运行方式 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • PHP 第二节 数据类型之字符串类型

    PHP 第二节 数据类型之字符串类型 字符串类型的概述 字符串是由零个或多个字符组成的有序序列。字符串可以是单引号(”, single quote)或双引号(“”, double quotes)包含的任何文本,其中包括空格和标点符号。PHP在解析最后一个令牌后返回输出之前将分析空格,并删除字符串中除双引号和转义符外无关紧要的空格和换行符。字符串在PHP中是…

    PHP 2023年5月26日
    00
  • 最常用的PHP正则表达式收集整理

    当我们需要根据某种规则匹配文本中的内容时,经常使用正则表达式。PHP是一门非常流行的编程语言,而其内置的正则表达式函数库也相当强大,可以帮助我们完成许多文本匹配工作。本文将提供一份介绍最常用的PHP正则表达式的文档,以下是完整攻略: 最常用的PHP正则表达式收集整理 基本元素 字符 字符是正则表达式的最基本组成部分。可以用于匹配字面值(如“a”、“b”等)或…

    PHP 2023年5月26日
    00
  • PHP实现简单登录界面

    下面是PHP实现简单登录界面的详细攻略。 1.前言 在Web开发中,登录界面是一个必不可少的部分,通过用户输入正确的用户名和密码,可以进行身份验证,从而让用户进入网站的其他功能页面。 本文将详细讲解如何使用PHP实现简单的登录界面,包括如何设计用户表、如何使用表单来接收用户的输入、如何使用PHP代码来验证用户的身份以及如何登录成功后跳转到其他页面。 2. 设…

    PHP 2023年5月23日
    00
  • .NET c# 单体模式(Singleton)

    下面我将详细讲解“.NET c# 单体模式(Singleton)”的完整攻略。 什么是单体模式? 单体模式,也被称为单例模式,是一种创建型设计模式。它在应用程序需要访问全局对象时使用。单体模式确保整个应用程序中只存在一个对象实例并提供全局访问点访问该实例。 单体模式的实现方式 在 .NET c# 中,单体模式的实现方式如下: public sealed cl…

    PHP 2023年5月27日
    00
  • SOL链用哪个Swap?SOL链上的Swap盘点

    当我们在SOL链上进行资产交易时,需要使用到Swap,Swap是一种去中心化交易协议,许多项目都在SOL链上推出了自己的Swap,下面就对SOL链上的Swap进行一个盘点。 Serum DEX Serum DEX是SOL链上非常知名的Swap,它基于SOL链的生态基础设施,与FTX和Sam Bankman-Fried等知名的交易所合作,可以提供高速、低成本和…

    PHP 2023年5月27日
    00
  • CVE-2020-15148漏洞分析

    下面是“CVE-2020-15148漏洞分析”的完整使用攻略,包括漏洞描述、漏洞分析、漏洞利用和两个示例说明。 漏洞描述 CVE-2020-15148是一个影响OpenSMTPD的远程代码执行漏洞。攻击者可以通过发送恶意的SMTP邮件来利用此漏洞,从而在目标系统上执行任意代码。 漏洞分析 OpenSMTPD是一个开源的服务器,用于发送和接收电子邮件。CVE-…

    PHP 2023年5月12日
    00
  • 如何在PHP中使用数组

    当我们需要在PHP中存储多个值时,数组是一个非常有用的数据结构。本文将详细讲解如何在PHP中使用数组,包括数组的定义、访问和操作,以及数组的一些常用函数。 定义数组 在PHP中,我们可以使用关键字array()来定义一个数组。数组可以包含任意数量的元素,每个元素可以存储任意类型的数据,例如字符串、数字、其他数组等等。 以下是一个定义包含三个元素的数组的示例:…

    PHP 2023年5月26日
    00
  • php实现遍历文件夹的方法汇总

    为了实现遍历文件夹的功能,可以使用PHP提供的目录迭代器(DirectoryIterator)、文件迭代器(FilesystemIterator)和递归函数等方式。 目录迭代器(DirectoryIterator) DirectoryIterator 的基本使用 DirectoryIterator 可以基于指定的目录路径或文件夹资源句柄来创建,然后通过对其进…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部