0

CygwinでPHP5.4.9を正常にコンパイルしましたが、MongoDB拡張機能を動的にロードできなくなりました。これがPHPCLIの出力です。

$ 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ファイルは、公式のMongoDBGitHubリポジトリからダウンロードされています。実際にはphp_mongo-1.3.1-5.4-vc9-nts.dllに名前が変更されています。不思議な瞬間:x86_64バージョン(私のOSバージョン)に置き換えようとすると、DLLのexec形式が間違っていると表示されます。

4

1 に答える 1

2

拡張機能をダウンロードした場合は、VisualStudioを使用してコンパイルされたPHPを使用してネイティブWindowsdllとして実行されるように構築されています。cyhwin-gccを使用してコンパイルされたPHPは使用できません。

拡張機能を自分でcygwin.soにコンパイルするか、Visual Studioを使用してコンパイルされたPHPを使用します(後者が推奨されます)

于 2012-12-12T01:26:06.567 に答える