首页 > 解决方案 > 经常使用的术语“PHP 二进制”实际上是什么意思?

问题描述

我在笔记本电脑上使用Windows 10 Home Single Language 64 位操作系统

我已经在我的笔记本电脑上安装了最新版本的 XAMPP。

这已经在我的笔记本电脑上安装了PHP 7.2.8Apache/2.4.34 (Win32) OpenSSL/1.1.0h PHP/7.2.8

我从PHP Manual Page中看到以下句子:

PHP 可用于所有主要操作系统,包括 Linux、许多 Unix 变体(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、macOS、RISC OS 以及可能的其他操作系统。PHP 还支持当今的大多数 Web 服务器。这包括 Apache、IIS 和许多其他。这包括任何可以使用 FastCGI PHP 二进制文件的 Web 服务器,例如 lighttpd 和 nginx。

从上面的文字我没有得到术语“PHP 二进制”的确切含义。这个特殊的术语在 PHP 手册的许多地方都非常频繁地使用,但没有给出“PHP 二进制”的实际含义。

我用谷歌搜索了它的含义,我开始了解'predefined constant' PHP_BINARY

因此,我尝试执行以下代码,希望能消除我对常用术语“PHP 二进制”的实际含义的疑问,并检查了我的 Web 浏览器中的输出:

<?php
  echo PHP_BINARY;
?>

令人惊讶的是,我得到了以下输出:

C:\xampp\apache\bin\httpd.exe

看到这个输出我很惊讶,因为在输出中我得到了 Apache 文件httpd.exe的完整地址。我期待得到一些关于PHP的信息,但我得到了Apache文件的地址。为什么这样?

那么,最终的意思是我仍然不明白常用术语“PHP 二进制”的实际含义是什么?

我仍然不知道经常使用的术语“PHP 二进制”的实际含义是什么?

有人,请用一种易于理解、简单明了的语言来消除我对常用术语“PHP 二进制”的疑问。

我在等你的帮助。

标签: phpapachebinaryphp-7fastcgi

解决方案


任何程序的编译版本通常被称为“二进制”。

PHP 有多个用于多种用途的二进制文件。

  • php.exe用于在命令提示符中本地运行脚本;

  • php-cgi.exe符合 FastCGI 协议;

  • php7apache2_4.dllPHP 被包装为 Apache 2.4 模块;

  • 还有其他一些人。

在这种情况下,文档指的是php-cgi.exe

该常量PHP_BINARY包含 PHP 当前正在执行的二进制文件的路径。httpd.exe由于 XAMPP 使用 Apache,而 Apache 很可能以 Apache 模块形式使用 PHP,因此将其识别为二进制文件是有道理的,因为它正在加载php7apache2_4.dll.


推荐阅读