我正在尝试为C库创建一个PHP扩展/包装器。 我非常密切地遵循了本教程扩展写作第一部分,并从同一作者那里购买了"扩展和嵌入PHP"一书。
我正在 MAC 上工作并安装了 MAMP。
我已经下载并安装了make-3.82,autoconf-2.69,automake-1.9和libtool-2.4.2,没有问题。我已经在应用程序/MAMP/bin/php/php5.4.4/lib/php/extensions 文件夹中创建了一个 hello 文件夹,并完全按照说明创建了上面教程中列出的文件。
我做了这三个步骤:
$ phpize
$ ./configure --enable-hello
$ 使
再次没有问题。
但是当调用 php -r 'echo hello_world();我收到"未定义的函数hello_world"错误。
我知道上面列出的几个步骤不是推荐的方法。
我是否在错误的扩展文件夹中? 扩展文件夹不是推荐的文件夹,但我在任何地方都找不到ext文件夹。
这些新增内容的较新版本是否与旧版本相同,或者我是否需要返回到早期版本?
是否有任何人都可以推荐的更新的 PHP 扩展集说明?
在进一步的研究中,我发现我的 MAMP 安装缺少一个包含目录树,其中包含所有当前文档中引用的 ext 文件夹。 我不知道这是否只是升级,但我打算放弃这一点并切换到 Linux 环境进行开发。
编辑:因此,在Linux上解决了同样的问题之后,我在etc/php5/apache2/conf.d中发现了一个文件,该文件名为现有扩展名的名称,扩展名相同= {extension}.so行也在php.ini中。 当我用自己的扩展名信息复制该文件时,扩展名开始起作用。 这个文件不是我在我查看的任何文档中看到的任何内容。 我不知道 MAMP 环境中是否有相应的文件也导致了那里的问题。