php - 经常使用的术语“PHP 二进制”实际上是什么意思?
问题描述
我在笔记本电脑上使用Windows 10 Home Single Language 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 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 二进制”的疑问。
我在等你的帮助。
解决方案
任何程序的编译版本通常被称为“二进制”。
PHP 有多个用于多种用途的二进制文件。
php.exe
用于在命令提示符中本地运行脚本;php-cgi.exe
符合 FastCGI 协议;php7apache2_4.dll
PHP 被包装为 Apache 2.4 模块;还有其他一些人。
在这种情况下,文档指的是php-cgi.exe
该常量PHP_BINARY
包含 PHP 当前正在执行的二进制文件的路径。httpd.exe
由于 XAMPP 使用 Apache,而 Apache 很可能以 Apache 模块形式使用 PHP,因此将其识别为二进制文件是有道理的,因为它正在加载php7apache2_4.dll
.
推荐阅读
- postgresql - 如何简化此 UNION 查询(删除 UNION)?
- angular - Angular HTTP 获取请求在 ngOnInit 中不起作用
- r - 按行绑定具有不同列名的数据框
- visual-studio-code - 如何隐藏 VS Code 中打开的文件选项卡右侧的按钮?
- google-cloud-platform - Google Cloud Speech 可以同时处理来自同一个客户端的多个请求吗?
- python - 如何从字典中构造语句
- google-cloud-platform - 如何在 gcp 上打开默认侦听端口?
- python - 列出要存储在数据框中的 xml 文件中的路径和数据
- java - 使用 JAVA poi 从 excel 文件中读取并忽略空单元格
- javascript - 分层边缘集群组名称