I've found the CPanel easyapache system to be problematic with many of our customer's machines though. Quite often, it claims a certain config line that when applied to source, doesn't even work.
Further, it builds in a very generalized manner, ignoring important flags that could really improve performance.
Here's something I could recommend:
1. Peel your config line from a phpinfo page or do the following:
# mkdir /devel
# cd /devel
# php -r "phpinfo(-1)" > phpcompile
# nano phpcompile
This will bring up an editor that lets you edit your php config line. Delete all lines but the one that contains the config line (one of the first few lines) with CTRL+K.
2. Remove all of the quotation marks from the config line. It will look something like this:
Quote:
|
./configure '--with-abc' '--with-def' ...
|
Turn it into:
Quote:
|
./configure --with-abc --with-def
|
All on a single line --
very important!
3. Still editing the "phpcompile" file, add the proper CFLAGS for your system's architecture above. So for example, on our 950D box, we have this line at the very top, and our php configure directive below it:
Quote:
export CFLAGS="-march=x86-64 -O3 -pipe -msse2 -mfpmath=sse -mmmx -fomit-frame-pointer"
./configure --disable-debug --with-apxs --with-curl --with-gd --with-jpeg-dir=/usr/local/lib --with-mcrypt ....
|
You can find the proper line for your stepping if you google about a bit. This really helps the binary out! Note the -O3 flag as well, also very important. You can also consider adding the --enable-inline-optimization flag to your PHP configure directive. It makes for a fatter, yet faster binary. Nonetheless (digressing, sorry!) in this case you'll want to add the proper PDO directives in the config line at this step.
4. Save phpcompile, exit the editor.
5. Download the PHP source from php.net
6. Unpack the source tar.gz, and copy your phpcompile to its directory, and run it.. ie:
# cp phpcompile /devel/php-5.2.5/
# chmod 700 /devel/php-5.2.5/phpcompile
# cd php-5.2.5
# ./phpcompile
7. If your CPanel's configure directive was accurate (50/50 chance here it seems) then everything will go through without a hitch! You may have to install missing client headers or includes though. If you have yum this is a piece of cake, ex:
#yum install libpng-devel
8. # make && make install
After this you have recompiled PHP. May need to clean up your httpd.conf after the above is complete.
Source builds are better, faster, etc. Avoid easyapache like the plague.
Hope this post helps someone!
Alex