【问题标题】:Where do I get the configure script for PHP source?我在哪里可以获得 PHP 源代码的配置脚本?
【发布时间】:2015-04-27 13:38:57
【问题描述】:

我目前正在尝试通过 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 脚本,我应该如何在不使用./buildconf 的情况下获得./configure 脚本,这显然不应该在release 版本中使用?

谢谢:)

【问题讨论】:

    标签: php build autoconf buildconfig


    【解决方案1】:

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

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

    最终用户的发布版本,带有生成的configure 脚本,应直接从php.net 下载。

    【讨论】:

    • 如果我做对了,标签或发布的代码与 PHP 上的发布包中的代码不完全相同?
    • @func0der 我认为唯一的区别是 git "releases" 没有自动工具生成的脚本。
    • 好的。谢谢你的信息:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 2013-09-24
    • 1970-01-01
    • 2011-01-10
    相关资源
    最近更新 更多