Wednesday, April 27, 2011

Zend Server Community Edition - Zend.com

Zend Server CE

For those looking for another super duper alternative to connect easily from PHP to Oracle Database via OCI8... well look no further...
~Zend Server Community Edition~


Zend Server Community Edition is a fast and reliable PHP application stack. It is completely free, and you can use it in development, testing and production. Windows, Linux, Mac OS X and IBM i are supported.

DOWNLOAD NOW


Boost Performance of your PHP Applications

Zend Server Community Edition provides multiple capabilities for improving application response times and minimizing resource utilization:
  • PHP bytecode caching (Zend Optimizer+) - increases performance with no application changes
  • Data caching - a set of functions that allow developers to cache data in shared memory or to disk
Zend Server Community Edition Controller View

Use a Reliable PHP Stack in Development and Production

Zend Server Community Edition is a pre-integrated PHP application stack that’s been tested by Zend to ensure the highest levels of reliability. You can use it to run your application in production, during development and testing, ensuring a consistent environment throughout the application lifecycle.

If at any point you require technical support, software updates, security patches, application monitoring or extra performance, you can simply upgrade to Zend Server, the commercial version of Zend Server Community Edition.

See the differences between Zend Server Community Edition and Zend Server >>

Zend Server Community Edition across the Lifecycle

Get Up and Running with a Full PHP Stack in Minutes

Eliminate wasted time spent on putting together your PHP stack piece by piece. Zend Server Community Edition includes everything you need, whether you’re using Windows, Linux or Mac OS X. The simple, native installers will set you up in minutes with:

  • Bytecode accelerator (Optimizer+)
  • Zend Data Cache
  • A certified PHP distribution
  • Zend Framework
  • Apache (or IIS integration)
  • MySQL (on Windows and Mac OS X)
  • Out-of-the-box connectivity to all common databases
  • Java code connectivity
  • Web-based PHP administrator console




Zend Server Community Edition Administrator Console

DOWNLOAD NOW

Sunday, April 24, 2011

Ubuntu 10.04 LTS with OCI8

Finally, Akhirnyaaaaaaaaaaaaaaaaa!!! Alhamdulillah berjaya configurekan Ubuntu LAMP Server untuk work together with OCI8 (Oracle Call Interface)... yang membolehkan connection ke database Oracle possible!!! Thanks to the author of this tutorial... here it is.... \(^o^)/

To be able to access Oracle databases from PHP, you will need to have PHP compiled / linked with the Oracle OCI (oci8) library.

You could use the pre-built PHP 5 from Zend or there are two other ways to get PHP working with OCI8:

  1. Install the Oracle Database [Oracle10g] [Oracle9i]
  2. Install Oracle Instant Client

If your Oracle database is in another machine, the Oracle Instant Client is a smaller install.

PHP using Oracle Database Server

TODO

PHP using Oracle Instant Client

Tested Environment:

Ubuntu Server 10.04 LTS Oracle Instant Client 11.2

Prerequisites:

sudo apt-get install build-essential
sudo apt-get install php5-dev php-pear libaio1

Instant Client installation requires some environment variables to be able to see the library folder. Edit /etc/environment and add at the end:

# Oracle Instant Client
LD_LIBRARY_PATH="/usr/local/lib/instantclient_11_2"
TNS_ADMIN="/usr/local/lib/instantclient_11_2"
ORACLE_BASE="/usr/local/lib/instantclient_11_2"
ORACLE_HOME=$ORACLE_BASE

Then download the Oracle Instant Client from Oracle.com another (you will need to create an account)

You will need the Basic (48MB) and SDK (600K). The Basic Lite version does not work.

cd /usr/local/lib
sudo unzip
sudo unzip
cd instantclient_11_2
sudo ln -s libclntsh.so.11.1 libclntsh.so

The symbolic link is needed by during the compilation step later.

sudo pecl install oci8

You will be prompted for the location of the library:

instantclient,/usr/local/lib/instantclient_11_2

You will be prompted also for the ORACLE_HOME location, type 'all', accept and then insert:

instantclient,/usr/local/lib/instantclient_11_2

If successful, you may now add the following line at the bottom of php.ini

extension=oci8.so

The php.ini is found in 2 places: /etc/php5/apache2/php.ini and /etc/php5/cli/php.ini

sudo /etc/init.d/apache2 reload
Check to verify if the OCI8 module is available.

Monday, April 18, 2011

PHP Built-in Web Server

Finally PHP will have its very own web server. But please pay attention, this is not for production purposes. This is mainly for quick testing purposes only. Can't wait? Well head on to this link and download for yourself and try it.

Apa lagik geng PHP??? Download and tryler... :D

https://gist.github.com/835698

Friday, April 15, 2011

openSUSE 11.4 & GNOME 3 release party - Malaysia


5 Powerful Fat-Fighting Spices - Jon Benson


Parsley:  Improves digestion so you can use
the foods you eat. The more food you "use"
the less you store as bodyfat.












 Basil:  Known to us pros as the "secret"
appetite-suppressing herb. Yep... it makes
you feel more full. Fantastic for killing those
late-night carbohydrate cravings.












Oregano:  Reduces bloating! I love that.
When you are cutting body fat, you often get
tricked into believing belly bloat is belly
"fat"... but it's not. It's water pulled in from
cells during fat loss processes. Oregano
helps reduce it.
















Rosemary:  Helps keep you calm and lowers
the bellyfat-storing hormone "cortisol". It's
nature's best cortisol-lowering spice.

 







Black Pepper:  Known fatburner, and it just
tastes really good. Plus a really powerful anti-
oxidant!

-Jon Benson, author - The Every Other Day Diet===========

Tuesday, April 12, 2011

CakePHP - Model Without Creating Table

Coding untuk create model without table dalam CakePHP.


class ModelNoTableAttached extends AppModel
{
var $useTable = false;
} 

13 Healthy Fat-Burning Snack Ideas | Quick healthy mid-meals

13 Healthy (and Delicious) FAT-BURNING Mid-Meal Ideas for Between Breakfast, Lunch, and Dinner

by Mike Geary, Certified Nutrition Specialist, Certified Personal Trainer
Author - The Truth About Six Pack Abs

I receive a lot of questions from my readers where they have been doing much better at choosing healthy breakfasts, lunches, and dinners, but they are still struggling to find good ideas for healthy and quick "mid-meals"... especially a quick small meal or snack that can be brought to the office or on road trips (so you can avoid the fast food junk!).

Some people may call these "healthy snacks", but I prefer to consider them meals because they should be similar in size to your breakfasts, lunches, and dinners, if you want to spread your calorie intake out over the full day to "graze" so to speak.

After all, I'm sure it's no secret by now that eating 5-6 small meals per day is a much better strategy for getting lean compared to the traditional "3 squares" a day (which for most people, turns into only 2 big meals/day as many skip breakfast).

The problem that I see most people having is being prepared enough to bring healthy mid-meals with them to work for the day. If you don't plan ahead, and bring something healthy and balanced with you when you're out and about for the day, or at work, you're going to end up choosing the junk food at the vending machine or corner store.

So here are some of my favorite natural foods based mid-meals that I've used for years with great success and that lots of my clients love too. I want to keep things simple here, so I'm just gonna give a couple of my easiest, quickest, and healthiest...

Quick, healthy mid-meal ideas to keep you lean:

  • Apple or other fruit with almond butter
  • Hummus with carrot sticks or sliced red/yellow/orange peppers
  • Guacamole with carrot sticks or sliced red/yellow/orange peppers
  • Ricotta cheese (grass-fed if possible) mixed with cocoa powder, stevia, and vanilla extract (delicious high protein, low carb snack!)
  • Cottage cheese mixed with yogurt, berries, and walnuts or pecans
  • A couple hard boiled eggs with carrot and celery sticks and hummus (roasted red pepper hummus is my favorite)
  • Celery sticks with organic peanut butter or almond butter (a classic quick snack)
  • My famous healthy chocolate FUDGE recipe
  • Foods that make you fatAvocado slices wrapped in deli turkey breast (one of my favorite quick snacks)
  • A piece of sprouted grain toast (sprouted grain preferred nutritionally over "whole grain") with nut butter and berries
  • Fresh sliced pineapple with a handful of macadamia nuts
  • a bowl of blueberries mixed with raw almonds
  • my quick and healthy fat-burning chocolate pudding recipe
  • Cottage cheese with cinnamon, apple slices, and walnuts (mmm, mmm good)

That should give you some ideas to start working with. Now you have ZERO EXCUSES for resorting to junk food snacks on the road or at the office, when you have all of the delicious and healthy fat-burning snack ideas right here!

Friday, April 8, 2011

What is MSG? Pebenda MSG Sebenarnyer???

What Exactly is MSG and Why Should I Avoid It?


(By Brian St. Pierre, CSCS, CISSN From GetProGrade.com)


MSG stands for monosodium glutamate and it is used to enhance the flavor of food. MSG adds the savory flavor known as umami, and can make even the blandest and cheapest foods taste good.


While there is a lot of anecdotal evidence linking MSG intake with many problems, these symptoms are rather common and unspecific. They include: burning sensations, numbness, tingling, facial pressure or tightness, chest pain, headache, nausea, rapid heartbeat, bronchospasm in asthmatics, drowsiness and weakness.


Unfortunately, well controlled studies have not found these side effects, even in people who claim to be sensitive to MSG. These studies were placebo-controlled and double-blinded, meaning it was gold-standard research.


In one of these studies, 71 participants were given 5 grams of MSG or placebo and then given a standard breakfast. Only one person had a reaction, and it was someone who thought they were sensitive to MSG – unfortunately they got the placebo. Other well-controlled studies have had similar results.


Though to be fair, there are some people that argue that this data is flawed and the researchers were biased, including one Dr. Adrienne Samuels.


According to Dr. Samuels’ article, The Toxicity/Safety of Processed Free Glutamic Acid (MSG): A Study in Suppression of Information, in the peer-reviewed journal Accountability in Research, she proclaims, “How easily truth can be hidden and how seemingly isolated incidents actually can be badly flawed research, direct suppression of information, and dissemination of biased information orchestrated by one group or industry.”


While some seemingly well-controlled quality studies have found little incidence with MSG consumption, there are clearly researchers in the field who disagree with that notion, and feel that the research and data is flawed and biased. In situations like this, it is hard to know fact from fiction, but the data that is available certainly does not seem to link MSG with all of those side effects.


However, this doesn’t mean that you should just go ahead and down MSG without concern. MSG is used in low-quality foods such as Chinese food, canned vegetables, soups, and processed meats to improve the flavor profile, so people will actually want to purchase these items. This alone should tell you if MSG is in a product. It is in there because the item itself needs to have its flavor enhanced, and probably isn’t so great for you.

You should seek to avoid MSG because in the process you will also be avoiding low-quality processed foods and other unhealthy items that will not contribute to your health, body composition, or performance goals. In addition, it is probably just a good idea to avoid or minimize a food that has so much anecdotal evidence weighing against it.


This scenario seems to be similar to aspartame. Many people have been claiming for decades to suffer side effects from aspartame, and they too were told that the data did not support their claims. Well new information is coming out linking aspartame with many problems, including potentially increased risk of cancers and pre-term births.


So when many, many people continue to claim that MSG causes a lot of side effects, it might be worth minimizing in your diet. At the very least, you will also be minimizing low-quality, nutrient-empty, and calorie-dense processed foods, which is never a bad thing.

Thursday, April 7, 2011

Open Flash Chart - An alternative to Fusion Charts

Web Programmers will love this one!!! Not only this one is free, flashy but it is also OPEN SOURCE!!! (My Personal Favourite Criteria For Any Software/Codes)

Why choose Open Flash Chart?

This is a little gentle propaganda for the project. Like all opinions, disregard it and make up your own mind.

Edge cases such as

How to refer to images in CakePHP???

By ihari From CakePHP Bakery
The CakePHP manual is quite clear about the fact that images, style sheets and javascript files should commonly be put into respectively webroot/img, webroot/css and webroot/js. However, it is not clear for someone who is new to CakePHP what is the general rule for giving the correct path to these ressources. Routinely the designer who has to work with CakePHP may wonder why using routes, static pages and controller/actions do not yeld the same results as to path correctness.

While testing the framework, the newbie is suggested that helpers be used to correctly output some familiar HTML tags. One then comes to transform all tags into $html->image() method calls. But what about background images ? and what about type="image" inputs ?

Using the webroot property in the html helper


After trying the various CakePHP global constants (ROOT, WEBROOT_DIR, WWW_ROOT, CSS, etc.) with no results, the general solution seems to be found in the $this->webroot property that returns the path to the application webroot. Thus for the various cases above we may have in our layouts, views or elements:

A simple image tag:

echo $this->webroot; ?>img/foo.gif" .../ >

A background image within a table cell the old way:

echo $this->webroot; ?>img/foo.gif">

A background image within a table cell, the styled way (illustrating external CSS case as well):

echo $this->webroot; ?>img/foo.gif) }">

An input of type="image":

echo $this->webroot; ?>img/go_btn.gif" ... />

Coding consistently

For consistency's sake, one may even use exclusively this property for all paths and links inside the application. Instead of replacing img tags everywhere while leaving backgrounds and image inputs with a different syntax (applies also to CSS paths, Javascript paths and links), one may bypass the use of some of the helper methods altogether (such as $html->css(), $javascript->link()) and use only the sole webroot helper property.

Wednesday, April 6, 2011

960 Fluid Grid System Bake Templates

(This article is by tom_m from the bakery of CakePHP) - Really useful tutorial for fast bakers.
Want to use 960 grid system in your baked app? Ever see this "fluid" template that uses it? http://www.designinfluences.com/fluid960gs - I put it into some bake templates.
It's not that I don't like the default baked views, but I wanted something more generic and flexible. This template is extremely fast to work with too. You can add more boxes and other content very easily as opposed to the default bake templates.

If you are unfamiliar with the 960 Fluid Grid System template created by Stephen Bau, then check out the link in the intro. It's a very clean and basic gray/black/white layout with some nice collapsible divs and accordions and such. The page even says, "templates for rapid interactive prototyping." Sounds like a perfect match for a rapid framework like CakePHP.

You can download the file from my server: http://www.shift8creative.com/files/960-fluid-cakephp-bake-template.tar.gz

Not to take you away from the Bakery or anything, but if you were so inclined, you can see some screenshots on my site: http://www.shift8creative.com/project/960-fluid-grid-system-cakephp-bake-templates

How do you use it? Look at the README in the zip file, but basically you'll want to copy/merge the files in the same structure to your app. Then when you go to bake your view templates you should have a numbered option with "default" and "960grid" to choose from. Maybe others too if you have more bake templates. Anyway, choose "960grid" and that's it. You should be set.

Check out the manual for more information: http://book.cakephp.org/view/789/Modify-default-HTML-produced-by-baked-templates

How to Quit Facebook - by wikiHow

I took this information from here. The credits belongs to them. Good Job, since I quit my FACEBOOK!!! LoL...

  1. Admit you might have an addiction to Facebook. and keep track of what you actually do on Facebook. After every Facebook session, ask yourself: "What did I just accomplish by checking Facebook?" Odds are, you're probably just logging in to see if you've been poked, or for updates of when your friends change their profile image, write a new note, add a new song to their favorite music, and do other little things that you can really live without knowing. But those might be the little things that keep you on a very short leash. At first you're confirming a new friend, and next thing you know, you've spent an hour looking at all the new people you're connected to. Recording your Facebook activities can help you realize how much time you actually spend getting nothing constructive done.
  2. Define your goals on Facebook. Make a list of what you really want from it. Why did you originally sign up? So you could remember friends' birthdays? Find and keep old friends? Meet people with similar interests? Whatever your goals may be on Facebook, you need to make sure that you devote your time there to accomplishing those goals, instead of going off track with activities that get you nowhere. If you have no goals (i.e. if you signed up just because you had nothing better to do), skip the next step.
  3. Make and follow a Facebook schedule. After each Facebook goal, write down how much time and at what frequency you'll need to be on Facebook to achieve that goal. Then write down the total number of hours, per week, that you should be spending on Facebook. If it seems like too much time, adjust your activity times accordingly. Following this schedule might bring your Facebook addiction under control without requiring you to quit altogether. Some examples:

    • Stay in touch with college friends - Check every other day, spend no more than 15 minutes responding to messages only from college friends. (1 hour per week)
    • Maintain my group - Check every morning and evening for 10 minutes each, only to remove any spam or junk. Note to self: do not respond to posts, comments or messages during this time. (2 hours, 20 minutes per week)
    • Keep my group interesting - Spend 30 minutes every other day reading all of the comments and responding. (2 hours per week)
    • Finding new friends - Browse profiles for 30 minutes, twice a week. (1 hour per week)
    • Total maximum time I plan to spend on Facebook: 6 hours, 20 minutes.
  4. Think of other things you could be doing with your time spent on Facebook. If you find yourself spending, say, 10 hours a week on Facebook, make a list of all the other things you could accomplish in that time. You could:

  5. Block the time you spend on Facebook. You can use a free self control program called ColdTurkey to temporarily disable your access to popular social media websites. Parental control programs such as EzInternetTimer or TimeUpKidz can also help.
  6. Goodbye, Facebook account
    Goodbye, Facebook account
    Leave Facebook. If you've created a schedule and couldn't stick to it, or if you've decided that any time spent on Facebook is wasted, then you may need to quit cold turkey. This is a last resort, and is easier said than done. There are two options here. You can deactivate your account or delete your account:
    • Deactivate your facebook Account - this lets you take a breather without losing the information; or
    • Permanently delete your Facebook account - this is the real end, everything will go!
    • If you've started any groups, transfer admin rights to someone you trust.
    • Clear every last bit of information from your profile. Don't forget to remove your photo!
    • Send an email to your Facebook contacts explaining your decision to leave. Include your current contact information so they can get in touch with you without Facebook.
  7. Find alternatives to using Facebook. If you've gotten into the habit of using Facebook messages instead of email, update your email address book so you can get in touch with your friends next week and continue your correspondence outside of Facebook.
  8. Turn your profile into a pile of useless data! This is another way to "delete" a Facebook account, and you might have fun doing it. When you wake up the next day, your profile is gone. For good. Amen.
    • Delete all your "friends" - unless you want to show the World you're quitting for good.
    • Change the profile’s name - you can do that. Be sure to choose something really lousy.
    • Fill it up with offensive content - texts, dubious pics and all.
    • State clearly that Facebook employees are just a bunch of - beep - beep - beep - fill in the beeps with the most politically incorrect insults.
    • Invite lots of randomly picked people to become your “friends”.
  9. Find a Facebook substitute. A lot of people get addicted to Facebook because they check it when there's nothing else to do, like in between classes, or during a lunch break; then the curiosity spills over into time that should be spent doing other things, like studying or working. You need to find something to do during those little windows of time in order to prevent relapse. There are several ways to give yourself a "Facebook patch":

    • Stay away from the computer as much as you can. For many of us, getting in front of a monitor is a default activity. Try to find other things to do that'll keep you away from the computer and therefore, Facebook. Keep a notebook. Meditate. Finger weave. Learn to do impressive tricks with a tech deck. Call your friends on the phone or do something fun with them in person. Anything that you can do anywhere and for short periods of time is good.
    • If you're at a computer during critical relapse times, find another website to log onto and read instead of Facebook. Yes, you may get addicted to that instead, so try to find something that's actually a constructive pursuit, like checking news websites, learning a new word each day, sharpening your mental skills by solving a sudoku, practicing that foreign language you decided to learn, or contributing to the How-to Manual Anyone Can Edit.

Have you ever wondered what webserver is a site is using??? Now, wonder no more!!!

Ini adalah add-on untuk Mozilla Firefox. Yes, another super-cool-useful addon for Firefox Web Browser. Server Spy indicates what brand of HTTP server (e.g. Apache, IIS, etc.) runs on the visited sites. When a tab is selected, the corresponding server name is shown on the right-hand side of the browser's status bar.

(Aku pun baru tau yang google pakai customized web server called GWS for their main page and GSE for their mail server.)

Image Gallery


Tuesday, April 5, 2011

Nginx... better alternative to apache ^o^

That's right folks!!! Nginx is said-to-be better than apache in terms of performance and memory usage!!! Apa lagi kawan2... let's tukar to Nginx!!!

Nginx is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. Igor Sysoev started development of Nginx in 2002, with the first public release in 2004. Nginx now hosts nearly 7.65% (22.8M) of all domains worldwide.

Nginx is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption.

Nginx is one of a handful of servers written to address the C10K problem. Unlike traditional servers, Nginx doesn't rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load.
Even if you don't expect to handle thousands of simultaneous requests, you can still benefit from Nginx's high-performance and small memory footprint. Nginx scales in all directions: from the smallest VPS all the way up to clusters of servers.

Nginx powers several high-visibility sites, such as WordPress, Hulu, Github, Ohloh, SourceForge and TorrentReactor.


Nginx-book-packt.png

Nginx book is available!

Clement Nedelcu has written the first English book covering Nginx including such topics as downloading and installing Nginx, configuring and using modules, and much more. It provides step-by-step tutorials for replacing your existing web server with Nginx. With commented configuration sections and in-depth module descriptions, you will be able to make the most of the performance potential offered by Nginx.


Both [Apache and Nginx] are capable of serving a huge number of requests per second, but Apache's performance start decreasing as you add more concurrent connections whereas Nginx's performance almost doesn't drop!

But here comes the best bit: because Nginx is event-based it doesn't need to spawn new processes or threads for each request, so its memory usage is very low. Throughout my benchmark it just sat at 2.5MB of memory while Apache was using a lot more.

-- WebFaction


Monday, April 4, 2011

Installing PHP with OCI8

Installation

Configuring PHP with OCI8

Review the previous Requirements section before configuring OCI8.

To enable the OCI8 extension, configure PHP with the option --with-oci8 .

Before starting the web server, OCI8 typically requires several Oracle environment variables (see below) to locate libraries, point to configuration files, and set some basic properties such as the character set used by Oracle libraries. The variables should be set before any PHP process starts.

PHP should be run with the same, or more recent, major version of Oracle libraries as it was configured with. For example, if you build OCI8 with Oracle 11.2 libraries, then PHP should also be deployed and run with Oracle 11.2 libraries.

Installing OCI8 as a Shared Extension

The configuration shared option builds OCI8 as a shared library that can be dynamically loaded into PHP. Building a shared extension allows OCI8 to be upgraded easily without impacting the rest of PHP.

Configure OCI8 using one of the following configure options.

  • If using Oracle Instant Client, then do:

    ./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib

    If Instant Client is installed from ZIP files, make sure to create the library symbolic link, for example ln -s libclntsh.so.11.1 libclntsh.so.

    If using an RPM-based installation of Oracle Instant Client, the configure line will look like this:

    ./configure --with-oci8=shared,instantclient,/usr/lib/oracle//client/lib

    For example, --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib .

    Note that Oracle Instant Client support first appeared in PHP 4.3.11 and 5.0.4 and originally used the option --with-oci8-instant-client to configure PHP.

  • If using an Oracle database or full Oracle Client installation then do:

    ./configure --with-oci8=shared,$ORACLE_HOME

    Make sure the web server user (nobody, www) has access to the libraries, initialization files and tnsnames.ora (if used) under the $ORACLE_HOME directory. With Oracle 10gR2, you may need to run the $ORACLE_HOME/install/changePerm.sh utility to give directory access.

After configuration, follow the usual PHP building procedure, e.g. make install. The OCI8 shared extension oci8.so library will be created. It may need to be manually moved to the PHP extension directory, specified by the extension_dir option in your php.ini file.

To complete installation of OCI8, edit php.ini and add the line:

extension=oci8.so

Installing OCI8 as a Statically Compiled Extension

Configure OCI8 using one of the following configure options.

  • If using Oracle Instant Client, then do:

    ./configure --with-oci8=instantclient,/path/to/instant/client/lib
  • If using an Oracle database or full Oracle Client installation then do:

    ./configure --with-oci8=$ORACLE_HOME

After configuration, follow the usual PHP building procedure, e.g. make install. After successful compilation, you do not need to add oci8.so to php.ini. No additional build steps are required.

Installing OCI8 from PECL

The OCI8 extension can be added to an existing PHP installation either automatically or manually from » http://pecl.php.net/. Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: » http://pecl.php.net/package/oci8.

For an automated install follow these steps:

  • If you are behind a firewall, set PEAR's proxy, for example:

    pear config-set http_proxy http://my-proxy.example.com:80/
  • Run

    pecl install oci8

    When prompted, enter either the value of $ORACLE_HOME, or instantclient,/path/to/instant/client/lib.

    Note: Do not enter the variable $ORACLE_HOME because it will not be expanded. Instead, enter the actual path of the Oracle home directory.

For a manual install, download the PECL OCI8 package, e.g. oci8-1.3.5.tgz.

  • Extract the package:

    tar -zxf oci8-1.3.5.tgz
    cd oci8-1.3.5
  • Prepare the package:

    phpize
  • Configure the package, either using $ORACLE_HOME or Instant Client

    ./configure -with-oci8=shared,$ORACLE_HOME

    or

    ./configure -with-oci8=shared,instantclient,/path/to/instant/client/lib
  • Install the package:

    make install

After either an automatic or manual install, edit your php.ini file and add the line:

extension=oci8.so

Make sure the php.ini directive extension_dir is set to the directory that oci8.so was installed in.