【问题标题】:Compiling php_excel (v1.0.0) and LibXL (v3.5.4.1) on Windows在 Windows 上编译 php_excel (v1.0.0) 和 LibXL (v3.5.4.1)
【发布时间】:2014-06-03 15:59:16
【问题描述】:

我尝试在 VC9 上编译 PHP 扩展 php_excel (v1.0.0) 但没有成功,谁能提供指导?我使用在网上找到的注释来编译其他 PHP 扩展作为参考,但是有很多未知数,我不是 C 开发人员,所以请多多包涵。我想知道如何编译扩展,但如果有人能够为我编译它,我仍然非常感激。

更新:以下分步过程成功编译 php_excel 扩展

INSTALLATION
============
Install Microsoft Windows Server 2003 x86 incl. Service Packs
Install Microsoft .NET Framework 2.0
Install Microsoft Windows SDK v6.1 (6.0.6001.18000.367-KRMSDK_EN.iso)
Install en_visual_studio_2008_professional_x86_dvd_X14-26326.iso
Install en_visual_studio_2008_service_pack_1_x86_dvd_x15-12962.iso
Install Microsoft Visual C++ 2008 SP1
Extract php-sdk-binary-tools-20110915.zip to C:\php-sdk
Extract deps-5.3-vc9-x86.7z to C:\php-sdk\phpdev\vc9\x86\deps
Extract php-5.3.28-src.zip to C:\php-sdk\phpdev\vc9\x86\php-5.3.28

Open Microsoft Windows SDK v6.1 > CMD Shell

COMMANDS (to compile PHP)
=========================
setenv /x86 /xp /release
cd /d c:\php-sdk\
bin\phpsdk_setvars.bat
bin\phpsdk_buildtree.bat phpdev
cd /d C:\php-sdk\phpdev\vc9\x86\php-5.3.28
buildconf
configure --help
configure --enable-apache2-2handler --with-curl --enable-fileinfo --enable-mbstring --enable-mbregex --with-mcrypt --with-openssl --with-pgsql --enable-sockets --with-mysql --with-mysqli --enable-pdo --with-pdo-mysql --with-pdo-mssql --with-pdo-pgsql --enable-soap --with-xmlrpc --with-xsl
nmake
nmake clean all

LibXL (additional steps)
========================
Extract php_excel-1.0.0.zip to C:\php-sdk\phpdev\vc9\x86\php-5.3.28\ext\excel
Extract \libxl-3.5.4.1\include_c\* to C:\php-sdk\phpdev\vc9\x86\deps\include\libxl
Extract \libxl-3.5.4.1\lib\libxl.lib to C:\php-sdk\phpdev\vc9\x86\deps\lib\libxl.lib
buildconf
configure --with-excel=shared
nmake

php_excel(分支 v1.0.0) https://github.com/iliaal/php_excel/tree/v1.0.0

LibXL for Windows 3.5.4 http://www.libxl.com/download.html

系统:

  • Windows Server 2003 R2
  • PHP 5.3
  • Apache 2.2
  • php_excel 1.0.0
  • LibXL 3.5.4.1
  • Visual Studio 2008 (VC9)

【问题讨论】:

    标签: php windows compilation


    【解决方案1】:

    快照在http://windows.php.net/downloads/pecl/snaps/excel/20140606/下可用

    虽然我不确定以这种方式重新分发 libxl 是否存在法律问题,但无法保证构建可以在那里停留多长时间。如果您打算继续使用此库,请决定向原始存储库提交有关提议扩展 PECL 的问题。加入 PECL 将带来许多优势,因为我们将能够持续支持它,而且自动构建也将可用。

    如需自行构建扩展,请参阅 https://wiki.php.net/internals/windows/stepbystepbuild 。关于 VC9 最重要的一点 - 确保使用 service pack 1。请注意,欢迎大家就 PECL 邮件列表和 efnet 上的#php.pecl 提出问题。

    顺便提一下 - 作为替代方案,您可以使用核心中可用的 com_dotnet 扩展来实现目标。

    谢谢。

    【讨论】:

    • 谢谢,我现在至少使用 20140606 的 excel snaphot 扩展从 0.9.1 升级到 0.9.9。等待 1.0.0 版本 :-)
    • 我已经在 efnet 上的 #php.pecl 提出了这个问题,希望这能解决我的问题。 “由于有新版本的 php_excel 发布,请问可以将其添加到 excel 的 PECL 快照中吗?当前快照 @windows.php.net/downloads/pecl/snaps/excel/20140606 是 0.9.9 版,但最新的是 1.0.0。非常感谢”
    • 该快照来自 1.0.0 标签。就像它缺少 package.xml 一样,构建系统无法识别要放入包名称的版本。我知道为什么你会在 phpinfo(), github.com/iliaal/php_excel/blob/v1.0.0/excel.c#L66 中看到它——通常的“版本病”:)
    • php_excel 是否已从 PECL 中删除?我再也找不到它了:pecl.php.net/excel
    【解决方案2】:

    我已经建立了一个 github 存储库,用于使用 VC11 构建 php_excel。它可以帮助您为 VC9 编译 php_excel。见https://github.com/johmue/win-php-sdk-builder

    【讨论】:

      【解决方案3】:

      致任何寻找 php_excel.dll 最新 Windows 版本的人:我已将我的所有版本从 git head https://github.com/iliaal/php_excel 升级到 php_excel,并结合最新的 LibXL。

      我的 Windows 版本可以在http://www.apachelounge.com/viewforum.php?f=6找到

      所有版本均可用:PHP 5.3/5.4/5.5/5.6/7.0/7.1/7.2/7.3/7.4、TS/NTS、x86/x64。 zip 包含一个 phpinfo.htm,其中包含有关构建中所有扩展的更多信息。

      在编译新的 PHP 版本之前,我总是从主存储库中执行 git pull,因此希望 php_excel.dll 能够长期保持最新状态。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-12
        • 2016-05-05
        • 2015-01-09
        • 2021-08-16
        • 2013-01-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多