系统相关
首页 > 系统相关> > 使用Visual Studio 2008在Windows上编译我自己的PHP扩展

使用Visual Studio 2008在Windows上编译我自己的PHP扩展

作者:互联网

我写了一个PHP扩展,它可以在Linux下成功编译并运行.但是在窗户上,我遇到了一些问题.

我使用PHP源代码版本5.2.10在Windows上根据http://blog.slickedit.com/?p=128进行了编译,编译后生成了dll文件.但是,当我尝试使用dll文件时,它在启动Apache(Wamp服务器)时向我报告了内存问题.然后,我开始调试过程,似乎REGISTER_INI_ENTRIES()有问题.

这是PHP扩展源代码http://www.bluefly.cn/xsplit.tar.gz,在Linux上运行良好.但我也想使其在Windows上运行.

抱歉,我不是专业人士,所以我希望有人可以帮助我.

任何帮助表示赞赏,并在此先感谢〜

解决方法:

您没有在Linux上看到问题的原因很可能是您在Windows上进行了线程安全构建,但在Linux上却没有.尝试在Linux上添加–enable-maintainer-zts,然后使用valgrind检查(USE_ZEND_ALLOC = 0 valgrind /usr/bin/php script.php)

快速浏览一下您的代码,我发现您没有定义用于初始化线程变量的php_xsplit_init_globals.必须通过添加MINIT来注册此功能

ZEND_INIT_MODULE_GLOBALS(xsplit, php_yplist_init_globals, NULL);

呼叫.也许其他地方出了问题,但这是我看到的第一件事.

标签:php-extension,visual-studio-2008,windows,php
来源: https://codeday.me/bug/20191107/2003592.html