8得票3回答
如何使用Microsoft Visual C++ 2008编译PHP扩展?

我使用 Microsoft Visual C++ 2008 创建了一个 PHP Hello World 扩展 DLL。我有正确的 php.ini(因为当我启用和禁用 gd2 扩展时,确实会发生影响),但是当我加载扩展时,它没有出现在 phpinfo() 的 Additional Modules...

8得票1回答
PHP扩展使用libtidy编译完成,但无法加载。

我用C++编写了一个扩展程序,使用libtidy,在编译PHP --with-tidy时可以完美运行。 然而,如果能在普通的PHP上运行该扩展程序就更好了。当我尝试使用该扩展程序时,会得到如下警告: PHP Warning: PHP Startup: Unable t...

8得票1回答
我该使用哪些类条目来从C扩展中抛出非默认异常?

在我的C扩展中,我可以使用zend_throw_exception向调用函数抛出PHP异常。该函数的第一个参数是一个zend_class_entry,用于指定要抛出的异常类型。从zend_exceptions.h的文档中,我知道可以使用zend_exception_get_default()来...

8得票1回答
我在我的M1 Mac上尝试添加一些php扩展时遇到了问题。

尝试安装sqlite扩展后,我无法在我的Mac上运行php了。我一直收到brew错误。 有人遇到过类似的问题吗? dyld[58991]: Library not loaded: /opt/homebrew/opt/libavif/lib/libavif.15.dylib Refere...

8得票1回答
将变量按引用传递到PHP扩展程序

我正在编写一个PHP扩展,它接受一个值的引用并对其进行修改。以下是示例PHP代码: $someVal = "input value"; TestPassRef($someVal); // value now changed 什么是正确的方法?

8得票2回答
PHP扩展中的SEG错误

我写了一个PHP扩展来访问静态库中的函数,我将PHP构建为CGI,一切似乎都正常工作了(经过几天的努力..)。 当所有东西都能够工作时,我非常兴奋,于是重新编译了没有调试信息的PHP。(php_printf("here111"); .... php_printf("sending argum...

8得票3回答
如何从PHP扩展中返回数组,而不需要在内存中复制它?

我正在开发一个PHP扩展,其中一个对象方法需要返回一个数组zval。 该方法如下: ZEND_METHOD(myObject, myMethod) { zval **myArrayProperty; if (zend_hash_find(Z_OBJPROP_P(getThi...

8得票3回答
PHP扩展与库的区别(是否可以转换)

一些php wamp/lamp软件包中包含了像php_amf、php_db和php_gd2等php扩展,我只需要激活扩展或者在默认情况下安装扩展即可。一般来说,我的问题是这些扩展与库有什么不同?具体来说,我想知道一个扩展是否可以转化为项目本身加载的库,以便无需像php扩展那样进行特殊安装即可调...

8得票2回答
在Windows下使用Phpize

我正在尝试按照这里的说明:https://code.google.com/p/php-sweph/wiki/build编译PHP扩展。我使用的操作系统是Windows XP。 然而,我找不到用于执行命令的"phpize"工具。但是,我已经安装了PHP的Pear插件。它只适用于Linux吗?还...

8得票3回答
PHP中运行时重命名函数

在PHP 5.3中,是否有一种重命名函数或“挂钩”函数的方法。 在“APD”中有rename_function(),自2004年以来就已经损坏了。如果您尝试在PHP 5.3上构建它,则会收到以下错误消息: “'struct _zend_compiler_globals'没有名为'exten...