Building From Source
Pre-requirement check list
You don't have to check the following list yourself, the configure script will do for you, unless you have problem with configure/make.
- Get the XCache source files, see GettingSource.
- the lastest version of php 4.3.x, 4.4.x, 5.1.x, 5.2.x or 6.x series, 5.0.x isn't one of them. You can check the version with:
Check version with cli
$ php-cgi -v PHP 4.4.3-dev (cgi-fcgi) (built: Mar 10 2006 18:46:02) Copyright (c) 1997-2006 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
or setup a file with:
Check version with phpinfo
<?php phpinfo(); ?>
and request it from your browser.
- Get the php works with webserver without XCache first!
- common build tools: c compiler, make, libtool (required by php build env)
- php building env installed. if you've install php yourself, make sure you have do "make install". for some os distro, there is "php-devel" package. check it out with:
$ which phpize /usr/local/bin/phpize (or) /usr/bin/phpize
you output may be vary from this, depending on your installation of php. if it's not found, you should find it yourself
- indent (optional)
GettingSource, and cd into XCache directory.
~ $ cd ~/src/xcache ~/src/xcache $ ls (you XCache source is here) ~/src/xcache $ phpize (generating configure .... everytime you upgrade php, or update to a new XCache, you have to run phpize again) (it is suggested to build outside of the source directory, so make an build directory first and enter it) ~/src/xcache $ mkdir ../xcache-build ~/src/xcache $ cd ../xcache-build ~/src/xcache-build $ ../xcache/configure --help ...... --enable-xcache Include XCACHE support. --enable-xcache-optimizer XCACHE: (N/A) --enable-xcache-coverager XCACHE: Enable code coverage dumper --enable-xcache-assembler XCACHE: (N/A) --enable-xcache-disassembler XCACHE: Enable opcode to php variable dumper --enable-xcache-encoder XCACHE: (N/A) --enable-xcache-decoder XCACHE: (N/A) --enable-xcache-test XCACHE: Enable self test - FOR DEVELOPERS ONLY!! ...... (run configure with options you selected now) ~/src/xcache-build $ ../xcache/configure --enable-xcache --enable-xcache-coverager (many output here, if you have problem, read the error message twice) (and search inside config.log, and check Pre-requirement in this page above) ~/src/xcache-build $ make (many output here again, check if it success or error out.)
NOTE: It's always better not to enable unnecessary modules for production server unless you're not the maintainer of the server. Play with it locally.
WARNING: If you're using something like /opt/php/bin/phpize which isn't the 1st one found in $PATH, remember to configure --with-php-config=/opt/php/bin/php-config, exactly the same directory as phpize
~/src/xcache-build $ PATH="/opt/php/bin/:$PATH" ../xcache/configure \ --with-php-config=/opt/php/bin/php-config \ --enable-xcache \ --enable-xcache-coverager (line is broken up for readability) ~/src/xcache-build $ make
Install with root
~/src/xcache-build $ su Password: (input your root password here. whenever u see a red # in code listing in this wiki, it means you need to be root to do that) ~/src/xcache-build # make install (many output here, and you can see where the XCache extension is installed into, remember the extension path)
You have to modify php.ini to make XCache enable in your php, see InstallingAsPhpExtension