pecl install mongo - รวบรวมคอมไพล์ด้วย API โมดูลที่ไม่ถูกต้อง


9

ทำงานกับ Ubuntu 12.04 ที่นี่, nginx และ php5-fpm

ฉันใช้ Mongo ทำงานได้ดีใน php 5.3 จากนั้นฉันเพิ่ม ondrej / php5 ppa และอัปเดตเป็น php5.4 มันเก็บนามสกุล GD และ CURL แต่ไม่ใช่ Mongo ฉันเพิ่มบรรทัดไปยังไฟล์ php.ini อีกครั้งและไม่มีอะไรเกิดขึ้น จากนั้นฉันเปิดใช้งานข้อผิดพลาดในการเริ่มต้นและได้รับสิ่งนี้:

PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mongo.so' - /usr/lib/php5/20100525/mongo.so: cannot open shared object file: No such file or directory

ดังนั้นฉันเดาได้find -name 'mongo.so'และย้ายไฟล์จาก 20090626 / ถึง 20100525 / ... ซึ่งทำให้เกิดข้อผิดพลาดนี้:

PHP Startup: mongo: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match

จากนั้นผมก็ไม่ได้pecl uninstall mongoและpecl install mongo- ซึ่งสร้างไฟล์ใหม่ mongo.so ขวากลับใน 20090626 /

ฉันค่อนข้างใหม่สำหรับทุกคนดังนั้นหวังว่านี่จะเป็นความผิดพลาดง่าย ๆ ในการแก้ไข! ฉันแค่ต้องการให้ mongo กลับมาทำงานอีกครั้ง

คำตอบ:


12

ฉันเดาว่าจะเป็น:

  • pecl install mongoจริง ๆ แล้วการติดตั้งไบนารีที่สร้างไว้ล่วงหน้า (ซึ่งอาจเป็นจริง แต่ไม่น่าแปลกใจเลย) หรือ
  • คุณยังคงได้รับphp5-devแพคเกจเก่าจากการติดตั้ง 5.3 ของคุณและpeclกำลังค้นหาและใช้งานแทนที่จะเป็นเวอร์ชั่น 5.4 ดูรายการแพ็คเกจที่เกี่ยวข้องกับ PHP ของคุณ ( dpkg -l '*php*') และดูว่ามีแพ็กเกจ 5.3 เหลืออยู่หรือไม่และอัพเกรด

ฉันแค่ตอบคำถามของฉันเองด้วยสิ่งนี้! ขอบคุณ!
kavisiegel

แล้วอันไหนล่ะ?
womble

2
ฉันต้องอัปเดตphp5-devถอนการติดตั้ง mongo แล้วติดตั้งใหม่
kavisiegel

ที่ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน
Oliver Bayes-Shelton

2

จิตใจที่ดีคิดเหมือนกัน womble โพสต์ช่วงเวลาหลังจากที่ฉันคิดว่าเกิดอะไรขึ้น คำตอบของเขาถูกต้องและก่อนหน้าฉันดังนั้นมันคือสิ่งที่ฉันจะยอมรับว่าเป็นคำตอบ แต่สำหรับการอ้างอิงในอนาคตคำตอบคือ:

apt-get update
apt-get install php5-dev
pecl uninstall mongo
pecl install mongo
/etc/init.d/php5-fpm restart

และแน่นอน mongo.so อยู่ใน php.ini แล้วในแบบที่ pecl ไม่ได้ลบออกดังนั้นจึงทำให้การอัพเกรดง่ายขึ้นเล็กน้อย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.