php-doc-en/reference/mongo/configure.xml
Kristina Chodorow 416ceae2ce RedHat security settings section
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@309236 c90b9560-bf6c-de11-be94-00142212c4b1
2011-03-14 21:46:16 +00:00

402 lines
9.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<section xml:id="mongo.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
The MongoDB PHP driver should work on nearly any system: Windows, Mac OS X,
Unix, and Linux; little- and big-endian machines; 32- and 64-bit machines; PHP
5.1, 5.2, and 5.3.
</para>
<para>
&pecl.moved; This page gives more specific information on installing on different systems and troubleshooting issues users have run into.
</para>
<itemizedlist>
<listitem>
<para>
<link xlink:href="#mongo.installation.nix">Installing on *NIX</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="#mongo.installation.manual">Manual Installation</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="#mongo.installation.osx">OS X</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="#mongo.installation.gentoo">Gentoo</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="#mongo.installation.fedora">Fedora</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="#mongo.installation.windows">Installing on Windows</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="#mongo.installation.thirdparty">Third-Party Installation Instructions</link>
</para>
</listitem>
</itemizedlist>
<section xml:id="mongo.installation.nix">
<title>Installing on *NIX</title>
<para>
Run:
<programlisting>
<![CDATA[
$ sudo pecl install mongo
]]>
</programlisting>
</para>
<para>
If you are using CentOS or Redhat, Csoke Arpad created
<link xlink:href="&url.mongodb.rpm;">RPMs for these distributions</link>.
</para>
<para>
Add the following line to your php.ini file:
<programlisting>
<![CDATA[
extension=mongo.so
]]>
</programlisting>
</para>
<para>
If pecl runs out of memory while installing, make sure memory_limit in
php.ini is set to at least 32MB.
</para>
</section>
<section xml:id="mongo.installation.manual">
<title>Manual Installation</title>
<para>For driver developers and people interested in the latest bugfixes, you
can compile the driver from the latest source code on
<link xlink:href="&url.mongodb.github;">Github</link>.
Go to Github and click the "download" button. Then run:
<programlisting>
<![CDATA[
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ phpize
$ ./configure
$ sudo make install
]]>
</programlisting>
</para>
<para>
Make the following changes to php.ini:
</para>
<itemizedlist>
<listitem>
<para>
Make sure the <emphasis>extension_dir</emphasis> variable is pointing to
the location of <emphasis>mongo.so</emphasis>. The build will display where
it is installing the PHP driver with output that looks something like:
<programlisting>
<![CDATA[
Installing '/usr/lib/php/extensions/no-debug-zts-20060613/mongo.so'
]]>
</programlisting>
Make sure that it is the same as the PHP extension directory by runnning:
<programlisting>
<![CDATA[
$ php -i | grep extension_dir
extension_dir => /usr/lib/php/extensions/no-debug-zts-20060613 =>
/usr/lib/php/extensions/no-debug-zts-20060613
]]>
</programlisting>
If it's not, change the <emphasis>extension_dir</emphasis> in php.ini or
move <emphasis>mongo.so</emphasis>.
</para>
</listitem>
<listitem>
<para>
To load the extension on PHP startup, add a line:
<programlisting>
<![CDATA[
extension=mongo.so
]]>
</programlisting>
</para>
</listitem>
</itemizedlist>
<section xml:id="mongo.installation.osx">
<title>OS X</title>
<para>
If your system is unable to find autoconf, you'll need to install Xcode
(available on your installation DVD or as a free download from the Apple
website).
</para>
<para>
If you are using XAMPP, you may be able to compile the driver with the
following command:
<programlisting>
<![CDATA[
sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
]]>
</programlisting>
</para>
<para>
If you are using MAMP (or XAMPP and the above command does not work),
precompiled binaries are available from
<link xlink:href="&url.mongodb.github.downloads;">Github</link>
(download the latest one with "osx" in the name that matches your version of
PHP). Extract mongo.so from the archive and add it to MAMP or XAMPP's
extension directory. Add
<programlisting>
<![CDATA[
extension=mongo.so
]]>
</programlisting>
to the php.ini file being used and restart the server.
</para>
</section>
<section xml:id="mongo.installation.gentoo">
<title>Gentoo</title>
<para>
Gentoo has a package for the PHP driver called dev-php5/mongo, which can be
installed with:
</para>
<programlisting>
<![CDATA[
$ sudo emerge -va dev-php5/mongo
]]>
</programlisting>
<para>
If you use PECL, you may get an error that libtool is the wrong version.
Compiling from source you'll need to run aclocal and autoconf.
</para>
<programlisting>
<![CDATA[
$ phpize && aclocal && autoconf && ./configure && make && make install
]]>
</programlisting>
</section>
<section xml:id="mongo.installation.fedora">
<title>Red Hat</title>
<para>
This includes Fedora and CentOS.
</para>
<para>
The default Apache settings on these systems do not let requests make
network connections, meaning that the driver will get "Permission denied"
errors when it tries to connect to the database. If you run into this, try
running:
<programlisting>
<![CDATA[
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
]]>
</programlisting>
Then restart Apache. (This issue has also occurred with SELinux.)
</para>
</section>
</section>
<section xml:id="mongo.installation.windows">
<title>Installing on Windows</title>
<para>
Precompiled binaries for each release are available from
<link xlink:href="&url.mongodb.github.downloads;">Github</link> for a variety
of combinations of versions, thread safety, and VC libraries. Unzip the
archive and put php_mongo.dll in your PHP extension directory ("ext" by
default).
</para>
<para>
The latest (non-release) code is compiled into Windows binaries on every
commit. The zip consists of a .zip with php_mongo.dll and a version.txt.
Please keep the version.txt around so that if you have a question or problem,
you can give the developers the exact version you're using. (The number is
long and nonsensical, but it will make sense to the developers!)
</para>
<para>
To get the latest bug fixes (and possibly bugs), download the binary
corresponding to the PHP you have installed:
</para>
<itemizedlist>
<listitem>
<para>
<link xlink:href="&url.mongodb.vc652;">
PHP 5.2 VC6 Non-Thread-Safe Mongo extension
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.vc6ts52;">
PHP 5.2 VC6 Thread-Safe Mongo extension
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.vc6;">
PHP 5.3 VC6 Non-Thread-Safe Mongo extension
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.vc6ts;">
PHP 5.3 VC6 Thread-Safe Mongo extension
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.vc8;">
PHP 5.3 VC8 Non-Thread-Safe Mongo extension
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.vc8ts;">
PHP 5.3 VC8 Thread-Safe Mongo extension
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.vc9;">
PHP 5.3 VC9 Non-Thread-Safe Mongo extension
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.vc9ts;">
PHP 5.3 VC9 Thread-Safe Mongo extension
</link>
</para>
</listitem>
</itemizedlist>
<para>
Add the following line to your php.ini file:
<programlisting>
<![CDATA[
extension=php_mongo.dll
]]>
</programlisting>
</para>
</section>
<section xml:id="mongo.installation.thirdparty">
<title>Third-Party Installation Instructions</title>
<para>
A number of people have created excellent tutorials on installing the PHP
driver.
</para>
<itemizedlist>
<listitem>
<para>
<link xlink:href="&url.mongodb.video;">
PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2
</link>
</para>
<para>An excellent video that takes you step-by-step through installing
Apache, PHP, Xdebug, MongoDB, and Lithium by Jon Adams.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.ubuntu.9.04;">
Installing MongoDB and the PHP driver on Ubuntu 9.04
</link>
</para>
<para>
Spanish article by Javier Aranda (<link xlink:href="&url.mongodb.ubuntu.9.04.en;">
English translation</link>).
</para>
</listitem>
<listitem>
<para>
<link xlink:href="&url.mongodb.osx;">
OS X: Installing MongoDB and the PHP Mongo Driver
</link>
</para>
<para>
By Matt Butcher.
</para>
</listitem>
</itemizedlist>
</section>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->