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

标签 php windows visual-studio-2008 php-extension

我写了一个PHP扩展,在linux下编译运行成功。但是在 Windows 上,我遇到了一些问题。

我是根据http://blog.slickedit.com/?p=128在windows上编译的PHP源码版本5.2.10,编译后生成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注册Tis函数
ZEND_INIT_MODULE_GLOBALS(xsplit, php_yplist_init_globals, NULL);

打电话。也许还有其他问题,但这是我看到的第一件事。

关于php - 使用 Visual Studio 2008 在 Windows 上编译我自己的 PHP 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1036110/

相关文章:

visual-studio-2008 - ZeroMQ 和 Visual C++ 2008 的链接器问题

php - MySQL 通过日期时间健全性检查将行插入数据库

windows - 64 位 EXE 可以链接到 32 位 DLL 吗?

windows - Windows 10 上的 Composer 安装错误 : The installation directory is not writable

c - 双击时自动运行 Makefile

vb.net - Visual Studio/VB.Net 2008 IntelliSense 奇怪行为

visual-studio-2008 - 为什么使用 Firefox 时 Visual Studio 2008 变慢?

php - Sitemap.xml - 我应该更喜欢 lastmod 而不是 changefreq

javascript - 用javascript模拟点击点击横幅

php - PHP 中的 mysql_query 参数