I do not issue any guarantee that this will work for you!
1 Preliminary Note
I have tested this on a Fedora 13 server with the IP address 192.168.0.100 where Apache2 and PHP5 are already installed and working. I'll use Apache's default document root /var/www/html in this tutorial for demonstration purposes. Of course, you can use any other vhost as well, but you might have to adjust the path to the info.php file that I'm using in this tutorial.2 Checking PHP5's Current State
First, before we install XCache, let's find out about our PHP5 installation. To do this, we create the file info.php in our document root /var/www/html:vi /var/www/html/info.php
phpinfo(); ?> |
As you see, we have PHP 5.3.2 installed...

... but XCache isn't mentioned anywhere on the page:

If you see that another PHP opcode cacher such as eAccelerator or APC is installed, you must remove it before you install APC:
For eAccelerator:
yum remove php-eaccelerator
For APC:yum remove php-pecl-apc
Restart Apache afterwards: /etc/init.d/httpd restart
3 Installing XCache
Unfortunately XCache isn't available as an rpm package for Fedora 13/CentOS 5.5, therefore we have to build it from the sources. First we install all packages that we need to build XCache:yum install php-devel
yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'
Next we download and uncompress the latest XCache version:cd /tmp
wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
tar xvfz xcache-1.3.0.tar.gz
Then we go to the new XCache source directory...wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
tar xvfz xcache-1.3.0.tar.gz
cd xcache-1.3.0
... and build XCache as follows:phpize
./configure --enable-xcache
make
make install
Next we copy xcache.ini to the /etc/php.d directory:./configure --enable-xcache
make
make install
cp xcache.ini /etc/php.d
Now we must configure XCache. The configuration options are explained here: http://xcache.lighttpd.net/wiki/XcacheIni. The least you should do is enable extension = xcache.so and disable all zend_extension lines; furthermore, set xcache.size to a size (in MB) > 0 to enable XCache:vi /etc/php.d/xcache.ini
[xcache-common] ;; install as zend extension (recommended), normally "$extension_dir/xcache.so" ;zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so ; zend_extension_ts = /usr/local/lib/php/extensions/non-debug-zts-xxx/xcache.so ;; For windows users, replace xcache.so with php_xcache.dll ;zend_extension_ts = c:/php/extensions/php_xcache.dll ;; or install as extension, make sure your extension_dir setting is correct extension = xcache.so ;; or win32: ; extension = php_xcache.dll [...] xcache.size = 60M [...] |
/etc/init.d/httpd restart
Afterwards, open info.php again in a browser: http://192.168.0.100/info.phpYou should now see XCache mentioned on the page which means it has successfully been integrated and is working as expected:


4 Links
- XCache: http://xcache.lighttpd.net/
- PHP: http://www.php.net/
- Apache: http://httpd.apache.org/
- Fedora: http://fedoraproject.org/
- CentOS: http://www.centos.org/
0 comments:
Post a Comment