我从哪里获得 PHP 源的配置脚本?
Where do I get the configure script for PHP source?
我目前正在尝试通过 PECL 为 PHP 构建一个扩展。
/Applications/MAMP/bin/php/php5.4.39/bin/pecl install memcached
我正在使用 OS X 和 MAMP,所以出现了这个错误。
/Applications/MAMP/bin/php/php5.4.39/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found
由于 MAMP 没有任何 PHP 的头文件,我不得不手动获取它们。
所以我去了这里 https://github.com/php/php-src/releases/tag/php-5.4.39 并下载了源代码。
我将其提取到 /Applications/MAMP/bin/php/php5.4.39/include/
并将文件夹 php-5php-src-PHP-5.4.39
文件夹重命名为 php
并尝试更改到文件夹 /Applications/MAMP/bin/php/php5.4.39/include/php
.
我尝试 运行 使用 ./configure
配置脚本。
但是没有找到。
我只找到了一个 configure.ln
,有人告诉我这是用于 autoconf 的。所以我运行autoconf
。 Autoconf 崩溃并出现如下错误:
configure.in:2: error: possibly undefined macro: dnl
我很困惑。我找到了脚本 ./buildconf
,它告诉我以下内容:
You should not run buildconf in a release package.
use buildconf --force to override this check.
我强迫它,我们开始了:./configure
脚本终于存在了。
我在 php.net 网站上查看了同一个版本,因为我认为我上次这样做时并没有出现这种混乱。
所以我下载了这个:http://php.net/get/php-5.4.39.tar.bz2/from/a/mirror
它有 ./configure
脚本。
现在我的问题是:为什么 php.net 上的发布和 GitHub 上的发布不同?
如果不使用 ./buildconf
脚本,我应该如何在不使用 ./buildconf
的情况下获得 ./configure
脚本,这显然不应在 release 版本中使用?
谢谢:)
GitHub 包含 PHP 开发版的镜像。开发版本通常没有 configure
脚本,因为每次任何 autotools 输入文件更改时都必须重新生成它。这些文件在开发阶段往往会发生变化。
您可以在 php website 上阅读有关如何使用开发版本和 buildconf
脚本的说明。
最终用户的发布版本,带有生成的 configure
脚本,应直接从 php.net 下载。
我目前正在尝试通过 PECL 为 PHP 构建一个扩展。
/Applications/MAMP/bin/php/php5.4.39/bin/pecl install memcached
我正在使用 OS X 和 MAMP,所以出现了这个错误。
/Applications/MAMP/bin/php/php5.4.39/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found
由于 MAMP 没有任何 PHP 的头文件,我不得不手动获取它们。 所以我去了这里 https://github.com/php/php-src/releases/tag/php-5.4.39 并下载了源代码。
我将其提取到 /Applications/MAMP/bin/php/php5.4.39/include/
并将文件夹 php-5php-src-PHP-5.4.39
文件夹重命名为 php
并尝试更改到文件夹 /Applications/MAMP/bin/php/php5.4.39/include/php
.
我尝试 运行 使用 ./configure
配置脚本。
但是没有找到。
我只找到了一个 configure.ln
,有人告诉我这是用于 autoconf 的。所以我运行autoconf
。 Autoconf 崩溃并出现如下错误:
configure.in:2: error: possibly undefined macro: dnl
我很困惑。我找到了脚本 ./buildconf
,它告诉我以下内容:
You should not run buildconf in a release package. use buildconf --force to override this check.
我强迫它,我们开始了:./configure
脚本终于存在了。
我在 php.net 网站上查看了同一个版本,因为我认为我上次这样做时并没有出现这种混乱。
所以我下载了这个:http://php.net/get/php-5.4.39.tar.bz2/from/a/mirror
它有 ./configure
脚本。
现在我的问题是:为什么 php.net 上的发布和 GitHub 上的发布不同?
如果不使用 ./buildconf
脚本,我应该如何在不使用 ./buildconf
的情况下获得 ./configure
脚本,这显然不应在 release 版本中使用?
谢谢:)
GitHub 包含 PHP 开发版的镜像。开发版本通常没有 configure
脚本,因为每次任何 autotools 输入文件更改时都必须重新生成它。这些文件在开发阶段往往会发生变化。
您可以在 php website 上阅读有关如何使用开发版本和 buildconf
脚本的说明。
最终用户的发布版本,带有生成的 configure
脚本,应直接从 php.net 下载。