0
我已经在Cygwin上成功编译了PHP 5.4.9,但现在我无法动态加载MongoDB扩展。这是PHP的CLI输出:无法在Cygwin上加载动态PHP扩展
$ 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库下载。它实际上改名为php_mongo-1.3.1-5.4-vc9-nts.dll。 好奇的时刻:当我尝试用x86_64版本(这是我的操作系统版本)替换它时 - 它表示DLL的exec格式错误。
谢谢!实际上,起初我也试着编译扩展名,但是它产生了'.a'文件,这是不合适的。你知道如何强制编译器生成'.so'吗?如果没有办法 - 我会尝试在VC中重新编译PHP。 – ualinker
我找到了解决方法 - 使用本手册静态编译扩展:http://php.net/manual/en/install.pecl.static.php – ualinker