【问题标题】:Installing PHP 7.2 extension pdflib, module error安装 PHP 7.2 扩展 pdflib,模块错误
【发布时间】:2018-07-12 07:26:41
【问题描述】:

我正在尝试在我之前已经安装的 PHP 7.2 上安装 pdflib。不知何故,我不久前用 Homebrew 重组了我的 PHP 安装。在重组之前,我的扩展名是/usr/local/etc/php/7.2/extensions。我只需要在php.ini 中引用我的 .so 文件,一切正常。

重组后,我使用 pecl 安装新的扩展。现在我在usr/local/lib/php/pecl/20170718 中有我的扩展名,这在我的php.ini 中也被引用为extension_dir。但是如果我将pdflib.so 放在这个目录中并在php.ini 中注册它,我会收到以下错误:

Warning: PHP Startup: PDFlib: Unable to initialize module
Module compiled with module API=20160303
PHP    compiled with module API=20170718
These options need to match`Warning: PHP Startup: PDFlib: Unable to 
initialize module

我该如何解决这个问题,或者有没有办法回滚到旧配置?

【问题讨论】:

    标签: php homebrew php-extension php-7.2 pdflib


    【解决方案1】:
    Module compiled with module API=20160303
    PHP    compiled with module API=20170718
    

    此消息表明已加载 PDFlib DSO,它是为较旧的 PHP (PHP 7.1) 构建的。

    我看到两个可能的问题:

    • 意外加载了不同的扩展程序。例如,由于名称不同。 (php_pdflib.sopdf.so
    • 您的 PECL 构建出错了,它是针对旧 PHP 7.1 构建的扩展。

    我会推荐

    • 检查您的 php.ini 并删除所有带有 pdf 的扩展名
    • 从官网下载最新的PDFlib 9.1.2并解包
    • 将正确的 DSO (php_pdflib.so) 复制到您的 extension_dir
    • 现在将 extension=php_pdflib.so 添加到您的 php.ini 中

    希望有帮助, 雷纳

    【讨论】:

      猜你喜欢
      • 2014-06-07
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多