常用术语“ PHP二进制”实际上是什么意思?

时间:2018-08-20 04:14:37

标签: php apache binary php-7 fastcgi

我在笔记本电脑上使用 Windows 10家庭单一语言64位操作系统

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

这已在我的笔记本电脑上安装了 PHP 7.2.8 Apache / 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的Web服务器    PHP二进制,例如lighttpd和nginx。

从上面的文字中,我没有获得术语“ PHP二进制”的确切含义。这个奇特的术语在PHP手册的很多地方都经常使用,但是没有给出“ PHP二进制”的实际含义。

我用它搜索了含义,然后了解了“预定义常量” PHP_BINARY

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

<?php
  echo PHP_BINARY;
?>

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

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

我很惊讶地看到此输出,因为在输出中我获得了Apache文件 httpd.exe 的完整地址。我原本希望获得有关 PHP 的信息,但是却获得了 Apache 文件的地址。为什么这样?

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

我仍然不知道非常常用的术语“ PHP二进制” 到底是什么意思?

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

我在等待您的帮助。

2 个答案:

答案 0 :(得分:3)

PHP本身作为程序在您的计算机上运行(通常称为二进制文件)。

假设我们在Windows上,则PHP二进制文件可能是php.exe。本质上是PHP本身。

请注意,PHP二进制文件可以是服务器模块,DLL或类似文件。

答案 1 :(得分:2)

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

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

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

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

  • php7apache2_4.dll被PHP封装为Apache 2.4模块;

  • 还有其他一些。

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

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