2010-11-27 12 views
6

Ich habe mongoDB bereits auf meinem VPS installiert. Es läuft gut.Wie installiere ich php-mongo auf CentOS 5.3?

Jetzt möchte ich PHP-Treiber installieren, damit PHP mit mongoDB funktioniert.

Ich folgte Mongo Installation, kann aber keine Informationen finden, die ich brauche. Dieses Handbuch enthält nur diesen Hinweis:

Wenn Sie CentOS oder Redhat verwenden, erstellt Csoke Arpad »RPMs für diese Verteilungen (PHP Mongo).

Ich bin nicht vertraut mit SSH-Befehle auf CentOS und Distributionen (was ist das?). Kann mir jemand helfen, diese PHP-Erweiterung zu installieren? Bitte geben Sie alle ssh-Befehle an, die für die Installation erforderlich sind.

Vielen Dank.

+0

Sie haben /usr/local/lib/php.ini Antwort nicht gewählt ... war diese Frage beantwortet ? Wenn Sie weitere Informationen benötigen, lassen Sie es uns bitte wissen. Vielen Dank! –

Antwort

8

Versuchen Justins Lösung zuerst mit pecl (Sie verwenden möchten yum anstatt die Fähigkeit, php-devel zu installieren), aber wenn das nicht funktioniert, habe ich bereits die manuellen Build-Prozeduren für meine eigene Deploy-Referenz zur Hand.:)

Installation des PHP MongoDB-Treiber

Als root:

  1. Export PHP_AUTOCONF =/usr/bin/autoconf
  2. Export PHP_AUTOHEADER =/usr/bin/autoheader
  3. wget http://pecl.php.net/get/mongo-1.0.9.tgz
  4. tar -xzf mongo-1.0.9.tgz
  5. cd Mongo-1.0.9
  6. phpize
  7. configure
  8. machen & & make install
  9. Um /etc/php.d/mongo.ini hinzu: extension = mongo.so
+0

Befehl "pecl" nicht auf meinem VPS gefunden. Also wende ich Ihre Prozeduren an und es rockt! Noch eine Frage: Wie halte ich Mongod am Leben, wenn ich PuTTy schließe? Ich versuche "chkconfig --levels 235 mongod auf, mongod Dienst starten" und "nohup mongod" aber keiner von ihnen arbeiten? – user342960

+0

Sie müssen den Prozess fork ... Aus der Dokumentation: Dies wird den Mongo-Server fork und leitet seine Ausgabe in eine Logdatei. Wie bei --dbpath müssen Sie den Protokollpfad selbst erstellen, Mongo erstellt keine übergeordneten Verzeichnisse für Sie. $ ./mongod --fork --logpfad /var/log/mongodb.log --logappend –

+0

Vielen Dank Chris und Justin, ihr beide rettet wirklich meine Tage! – user342960

12

Wenn Sie den SSH-Zugriff und Wurzel haben sollten Sie in der Lage sein, die folgen „auf Installation * NIX“ Anweisungen (die RPMs werden nur aus Bequemlichkeitsgründen erstellt.)

Sie können versuchen, pecl mit ... PECL ist ein Repository für PHP-Erweiterungen und der mongo php-Treiber verwendet dieses System.

Hier ist ein Blog-Post Sie hilfreich ...

Installieren Anweisungen von diesem Posten

http://learnmongo.com/posts/mongodb-php-install-and-connect/ finden könnte ...

Command Line für Linux installieren

Via Ihre Befehlszeile run pecl ... (wenn Sie sudo verwenden):

$ sudo pecl install mongo 

Wenn Sie bereits Root sind ...

# pecl install mongo 

Wenn Sie eine Fehlermeldung erhalten dass das System nicht phpize finden kann, dann müssen Sie möglicherweise das PHP-Entwickler-Paket installieren (dies ist, wie Sie tun, wenn Ihr Betriebssystem Eignung hat, müssen Sie möglicherweise eine andere Methode verwenden, um die PHP-Entwickler packaes) zu installieren ...

$ sudo aptitude install php5-dev 

Sie müssen dann Ihre php.ini Datei bearbeiten fügen Sie die mongo.so Erweiterung hinzufügen:

extension=mongo.so 

Starten Sie Ihren Webserver neu und Sie sind fertig.


Wenn pecl für Sie nicht funktioniert, können Sie es manuell installieren, wie hier beschrieben ...

http://www.php.net/manual/en/mongo.installation.php#mongo.installation.manual

+0

Root-Eingabeaufforderungen verwenden '#' anstelle von '$'. Sag es einfach. –

+0

lol, ich denke ich sollte das bearbeiten. –

+0

In Redhat Enterprise 6.5 benutze yum install php54w-devel (PHP 5.4) oder installiere einfach php-devel (PHP 5.3) wenn du das phpize-Problem hast. – sijpkes

10

ich installiert es nur auf CentOS mit:

yum install php-pecl-mongo 

Vergessen Sie nicht, den Server neu zu starten, ihn zu benutzen: service httpd restart

0

Dies funktionierte für CeontOS 7 und PHP 7.0.0. Ähnlich wie bei anderen Antworten, aber mit einigen Abhängigkeiten und Submodel Update-Befehl.

yum install cyrus-sasl cyrus-sasl-dev 
cd /usr/src/ 
git clone git://github.com/mongodb/mongo-php-driver.git 
cd mongo-php-driver 
git submodule update --init 
phpize 
./configure 
make 
make install 

Add Erweiterung

extension=mongodb.so 

Restart PHP-FPM Service

service php-fpm restart