我在笔记本电脑上使用 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二进制” 的怀疑。
我在等待您的帮助。
答案 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
。