【问题标题】:Compiling PHP extension for windows为 windows 编译 PHP 扩展
【发布时间】:2017-03-21 23:02:47
【问题描述】:

我正在尝试使用 Visual Studio 2015 在 Windows 8.1 上编译 PHP-7.0.11 和示例扩展。我正在关注 https://wiki.php.net/internals/windows/stepbystepbuild。我已经按照每一步,但仍然收到以下错误:

{
    bison.exe --output=Zend/zend_language_parser.c -v -d -p zend Zend/zend_language_parser.y
    zend/zend_language_parser.y:49: unrecognized: %code
    zend/zend_language_parser.y:49:    Skipping to next %
    zend/zend_language_parser.y:52: unrecognized: %destructor
    zend/zend_language_parser.y:52:    Skipping to next %
    zend/zend_language_parser.y:53: unrecognized: %destructor
    zend/zend_language_parser.y:53:    Skipping to next %
    NMAKE : fatal error U1077: '"C:\Program Files\ux-utils\bison.exe"' : return code '0x1'
    Stop.
}

另外,我注意到 zend_language_parser.c 文件没有在 Zend 目录中生成。

【问题讨论】:

  • bison.exe 已经安装在我的系统中,并且在编译时不知何故,位置是从系统目录而不是构建目录中获取的。删除已安装的bison 解决了问题。

标签: php c php-extension


【解决方案1】:

这也可能是因为您使用的是旧版本的 bison.exe。我想用 php-sdk-binary-tools-20110512 工具编译 php5.6。它具有导致此错误的野牛版本。而 php-sdk-binary-tools-20110915 工具的版本 2.4.1 可以完美地编译它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 2016-03-22
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多