Sunday, November 07, 2004

Compile Time

I'm having a trouble testing my project's website since i encountered a bug in PHP 4.3.4 which leads to session errors. When i login with user A and i looked at members page which displays user B, the sessions thinks that i'm user B. This is obviously not a good security implementation. I encountered this problem if i'm using Linux because Mandrake doesn't release newer PHP version, except for PHP 4.3.8 which is designed for Mandrake 10.1. I have also tried to upgrade from those RPM packages, but it would need to upgrade pam-devel and glibc as well, so i decided to try compiling from source code.

I'm used to compile an application from source code, but not for big application, such as Apache, PHP, and MySQL so i stayed with the old version that was included with Mandrake 10.0. Recently i need to upgrade to the newer version to solve my problems. The first application that i update was MySQL. I found a RPM package for Mandrake 10.1 and it worked for Mandrake 10.0 as well, so i just use that RPM packages rather than installing from source.

I encountered a problem when i want to compile PHP. I'm using parameters that was used by the RPM version of PHP developed by Mandrake's developers and it won't worked, since it couldn't find libphp4.so. I asked my friend Jaya via YM (i'm using Gaim) and he told me to install Apache2-devel that includes APXS2 library that was required to build Dynamic Shared Objects (DSOs) for Apache2. I tried his suggestion but still it won't worked. When i view my website on my computer, the browser will display download prompt rather than displaying my websites. I decided to delay this process since i thought that i need to recompile Apache2 from source either, so i asked my admin in campuss to download source code for Apache2.

Today i have all the application needed and i started by writing down my PHP packages installed in case the installation doesn't go smoothly, i can restore it by installing it again from Mandrake's CD. Luckily, the process was so smooth and i'm able to see my website again from my local browser. Now my computer is equipped with the latest version of PHP and that would solved my problems :)

Here are the parameter that i used to compile my PHP

'./configure' '--prefix=/usr/local' '--enable-discard-path' '--disable-force-cgi-redirect' '--enable-shared' '--disable-static' '--disable-debug' '--disable-rpath' '--enable-pic' '--enable-inline-optimization' '--enable-memory-limit' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php' '--with-pear=/usr/share/pear' '--enable-magic-quotes' '--enable-debugger' '--enable-track-vars' '--with-exec-dir=/usr/bin' '--with-versioning' '--with-mod_charset' '--with-regex=php' '--enable-track-vars' '--enable-trans-sid' '--enable-safe-mode' '--enable-ctype' '--enable-ftp' '--with-gettext=/usr' '--enable-posix' '--enable-session' '--enable-sysvsem' '--enable-sysvshm' '--enable-yp' '--with-openssl=/usr' '--without-kerberos' '--with-ttf' '--with-freetype-dir=/usr' '--with-zlib=/usr' '--with-zlib=/usr' '--with-zlib-dir=/usr' '--with-apxs2=/usr/sbin/apxs2' '--with-gd' '--with-png-dir' '--with-jpeg-dir' '--with-zlib-dir' '--with-tiff-dir'

No comments:

Post a Comment