【问题标题】:Building PHP Extensions In MAMP Environment在 MAMP 环境中构建 PHP 扩展
【发布时间】:2013-09-18 16:39:12
【问题描述】:

我正在尝试为 C 库创建 PHP 扩展/包装器。我非常关注本教程Extension Writing Part I ,并从同一作者那里购买了《扩展和嵌入 PHP》一书。

我正在使用 MAC 并安装了 MAMP。
我已经下载并安装了 make-3.82、autoconf-2.69、automake-1.9 和 libtool-2.4.2 没有问题。 我在 Applications/MAMP/bin/php/php5.4.4/lib/php/extensions 文件夹中创建了一个 hello 文件夹,并完全按照说明创建了上面教程中列出的文件。

我做了这三个步骤:
$ phpize
$ ./configure --enable-hello
$ 制作

再次没问题。

但是当调用 php -r 'echo hello_world();'我收到“未定义的函数 hello_world”错误。

我知道上面列出的几个步骤不是执行此操作的推荐方法。
我在错误的扩展文件夹中吗? extensions 文件夹不是推荐的文件夹,但我在任何地方都找不到 ext 文件夹。

这些添加的最新版本是否与旧版本一样工作,还是我需要回到早期版本?

是否有一套更新的说明用于组合任何人都可以推荐的 PHP 扩展?

【问题讨论】:

    标签: php mamp php-extension


    【解决方案1】:

    在进一步的研究中,我发现我的 MAMP 安装缺少包含目录树,其中包含所有当前文档中提到的 ext 文件夹。我不知道这是否只是升级,但我将放弃它并切换到 Linux 环境进行开发。

    编辑: 因此,在 Linux 上解决了同样的问题后,我在 etc/php5/apache2/conf.d 中发现了一个名为现有扩展名的文件,该文件具有相同的扩展名 = {extension}.so 行,该行也在 php.ini 中。当我使用自己的扩展信息复制该文件时,扩展开始起作用。这个文件不是我在我查看的任何文档中看到的任何内容。我不知道 MAMP 环境中是否有相应的文件也导致了那里的问题。

    【讨论】:

      猜你喜欢
      • 2011-01-03
      • 2021-09-17
      • 2015-08-27
      • 1970-01-01
      • 2011-07-21
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多