无法在Cygwin上加载动态PHP扩展

时间:2012-12-12 00:28:20

标签: php cygwin

我已经在Cygwin上成功编译了PHP 5.4.9,但现在我无法动态加载MongoDB扩展。这是PHP CLI输出:

$ php -v
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20100525/mongo.dll' - No such file or directory in Unknown on line 0

然而,肯定存在:

$ ls -l /usr/local/lib/php/extensions/no-debug-non-zts-20100525/mongo.dll
-rwxr-xr-x 1 Linker None 204288 Dec 12 02:12 /usr/local/lib/php/extensions/no-debug-non-zts-20100525/mongo.dll

DLL文件已从官方MongoDB GitHub repo下载。它实际上被重命名为php_mongo-1.3.1-5.4-vc9-nts.dll。 好奇的时刻:当我尝试用x86_64版本(我的操作系统版本)替换它时 - 它说DLL有错误的exec格式。

1 个答案:

答案 0 :(得分:2)

如果您对扩展程序进行了下载,则它将构建为使用Visual Studio编译的PHP本机Windows dll运行。使用cyhwin-gcc编译的PHP无法使用它。

将扩展程序自己编译成cygwin .so或使用使用visual studio编译的PHP(后者优先选择)