“PHP 编译选项”到底是啥意思?

Posted

技术标签:

【中文标题】“PHP 编译选项”到底是啥意思?【英文标题】:What do exactly mean by "PHP compilation options"?“PHP 编译选项”到底是什么意思? 【发布时间】:2019-01-24 19:34:43 【问题描述】:

我在运行 Windows 10 Home Single Language 64 位操作系统

的笔记本电脑上使用 PHP 7.2.8

我已使用 XAMPP 安装程序的最新副本在我的笔记本电脑上安装了 PHP 7.2.8

我从Description of phpinfo() function from PHP Manual看到以下文字

输出大量关于 PHP 当前状态的信息。 这包括有关 PHP 编译选项和 扩展,......

我没有从上面摘自 PHP 手册的文本中理解“PHP 编译选项”的确切含义。

我通过在笔记本电脑上运行phpinfo(); 来检查它的输出。

我只能看到与编译相关的输出中的一行如下:

编译器 MSVC15 (Visual C++ 2017)

上面一行是指PHP手册中提到的“PHP编译选项”还是“PHP编译选项”不是这个意思?

如果“PHP 编译选项”表示我上面提到的同一行,那么为什么在 phpinfo(); 的输出中不存在多个编译选项?

【问题讨论】:

这只是一个总结。其他设置在下面列出,带有扩展名。编译选项不仅仅是构建工具,而是你提供的所有东西./configure --…。另见wiki.php.net/internals/windows/stepbystepbuild 大多数配置使用默认选项,它们不会使用自定义选项重新编译。 【参考方案1】:

PHP 是用 C 编写的。C 是一种编译语言,这意味着您使用 C 编译器从源代码创建可执行二进制文件。这样做时,您可以传递许多选项来影响生成的二进制文件中的内容。

有关可能的编译选项的部分列表,请参阅http://php.net/manual/en/configure.about.php。引用

大多数配置选项都列在扩展参考页面上的相应位置,而不是此处。有关配置选项的完整最新列表,请在运行 autoconf 后在 PHP 源目录中运行 ./configure --help(另请参阅 Installation chapter)。您可能也有兴趣阅读 » GNU configure documentation 以了解有关其他配置选项的信息,例如 --prefix=PREFIX

phpinfo() 页面通常包含一行列出配置选项:

如需更详细的解释,请查看 PHP Internals 书中关于 bulding php 的章节:

http://www.phpinternalsbook.com/build_system/building_php.html

【讨论】:

the link in your profile 坏了

以上是关于“PHP 编译选项”到底是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

GCC 中 -x 标志的输入和输出“语言”是啥意思?

MSVC++ 的属性选项卡上的 Items 是啥意思?

GPU Z 中的Memory used选项是啥意思???

*NSFileProtectionComplete* 到底是啥意思?

authTokenType 到底是啥意思?

Quartz.net 中的“DisallowConcurrentExecution”到底是啥意思