从哪里获取PHP源的配置脚本?

时间:2015-04-27 13:38:57

标签: php build autoconf buildconfig

我目前正在尝试通过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:致命错误:找不到'zend_config.h'文件

由于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:错误:可能是未定义的宏:dnl

我很困惑。我发现脚本./buildconf告诉我以下内容:

  

您不应该在发布包中运行buildconf。   使用buildconf --force覆盖此检查。

我强迫它,我们去了:./configure脚本终于存在了。

我检查了php.net网站上的相同版本,因为我觉得上次我这样做时并没有出现这种混乱。

所以我下载了这个:http://php.net/get/php-5.4.39.tar.bz2/from/a/mirror

它有./configure脚本。

现在我的问题:为什么php.net上的关系和GitHub上的版本有所不同? 如果没有使用./buildconf脚本,我应该如何在不使用./configure的情况下获取./buildconf脚本,这显然不会在发布版本中使用?

谢谢:)

1 个答案:

答案 0 :(得分:1)

GitHub包含PHP开发版本的镜像。开发版本通常没有configure脚本,因为每次任何autotools输入文件发生更改时都必须重新生成。这些文件在开发阶段往往会发生变化。

您可以阅读有关如何在php website上使用开发版本和buildconf脚本的说明。

最终用户的发布版本(已生成configure脚本)应直接从php.net下载。