Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to make mongo-php-driver work with PHP 5.5.7 on OS X 10.9.1 but I came to a dead end, I've tried everything I could possibly find and nothing works...

Everything compiles just fine, but PHP doesn't load the extension and gives a really odd error:

Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so' - dlopen(/usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so, 9): Symbol not found: _core_globals
  Referenced from: /usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so
  Expected in: flat namespace
 in Unknown on line 0

I've checked about thread safety and architecture issues but everything is just fine, both extension and PHP are thread safe and 64bits.

I also checked if there was any issues with the binaries, like phpize and php-config, but everything seems to be just fine...

I really don't know what to do, anyone has any clue?


As pointed out by voretaq7 and MadHatter this is what I did:

  1. Downloaded PHP 5.5.7 and compiled with
    ./configure --with-apxs2=/usr/local/apache2/bin/apxs;
  2. Downloaded the master branch of the mongo driver and compiled with default configuration as instructed;
  3. Included the extension in php.ini:
    extension = mongo.so;
  4. Ran php -v and got the odd error I said before;
  5. Checked if PHP and the driver were being compiled in 64 bits, they were;
  6. Checked if phpize and php-config were the ones installed earlier in step 1, they were;
  7. Yelled fuck this shit and asked for help.
  8. Realized I could try with the 1.4.5 driver version. BAM! done, everything works now.
share|improve this question

closed as off-topic by Falcon Momot, Iain, MadHatter, Ward, mdpc Jan 3 at 20:50

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions must be relevant to professional system administration. Server Fault is dedicated to professional system and network administrators. End user and enthusiast questions are off-topic (contact your system administrator or hire a professional to help you out). Please see the Help Center for more information." – Falcon Momot, Iain, MadHatter, Ward, mdpc
If this question can be reworded to fit the rules in the help center, please edit the question.

1  
The OS X implementation of dlopen() can't parse the SO correctly, for reasons that might also have to do with the SO file. Why are you doing this on OS X? –  Falcon Momot Dec 28 '13 at 6:22
1  
"I've tried everything I could possibly find" is less than helpful. What, SPECIFICALLY have you tried? How did you build the driver? etc... –  voretaq7 Dec 28 '13 at 6:25
    
@FalconMomot it seems to be an issue with the latest version of the driver, I tried the 1.4.5 and everything went just fine. –  gibatronic Dec 28 '13 at 14:58
    
@voretaq7 sorry about the confusing question, but I said what I tried in the last paragraphs. –  gibatronic Dec 28 '13 at 14:59
    
Don't tell us what you did. Show us what you did. –  MadHatter Dec 30 '13 at 16:55

1 Answer 1

up vote 2 down vote accepted

This issue is only happening on the lastest version.

I just tried with the 1.4.5 and everything went just fine!

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.