Thursday, October 22, 2009

OCI8

You need the following (once logged in) from Oracle Instant Client:

  • oracle-instantclient-basic
  • oracle-instantclient-devel

You also need to install two PHP related packages, namely:

  • php-pear
  • php-devel

You might need to update the channel data of pear and pecl by:

  • pear channel-update pear.php.net
  • pecl channel-update pecl.php.net

Now you should be able to install oci8 with the following command:

  • sudo pecl install oci8

Finally edit /etc/php.ini and add the line bellow in the extensions section:

  • extension=oci8.so

See also the php-oracle manual

Example

       # Here's how we connect:
$dbh = oci_connect ('USERNAME', 'PASSWD', '//172.31.5.337:1521/ORACL');
# Here's how we pass an sql statement:
$stmt = oci_parse ($dbh, 'SELECT USERNAME, PASSWORD FROM TABLE');
# Here we execute the statement:
oci_execute ($stmt);
$cnt = 1;
# Then we fetch rows in a loop until we're done
while ($result = oci_fetch_array($stmt)) {
echo "user: " . $cnt . " " . $result['USERNAME'] .
" " . $result['PASSWORD'] . "
";
$cnt = $cnt +1;
}
# last we close the database handle
oci_close($dbh);
# and note to the parser that this is the end of the php code section

Sunday, October 18, 2009

Friday, October 16, 2009

Gmail Tips

Wednesday, September 9, 2009

Friday, July 10, 2009

How to enable gzip compression with Php.



Enabling Gzip Compression


In many forums and on many webpages it has been widely proclaimed that to enable gzip compression using php is as easy as adding a single line of code at the beginning of each page. This is not false, however it is not the best way of doing it. Before continuing, here's the code. It takes advantage of Php's buffered output and buffers all output of the script until the Php engine has completed, and then runs all the output through a special function that gzip compresses it before sending it on to the browser.

Here is the code. Just place this at the very top of all your Php pages and it will send gzip-compressed output to the browsers.








Example Code


<?php
ob_start
("ob_gzhandler");
?>

This method is dependant on the Apache server and in addition, the mod_gzip module must be installed and loaded.

Other Methods to Enable Gzip Compression


The method mentioned above is quick and easy, but the downfalls are that it only works on Apache with mod_gzip. Not only that, but according to the Php manual, that is not the preferred method for gzipping.
(From the Php manual at www.php.net)
note that using zlib.output_compression is preferred over ob_gzhandler().

Another method of gzipping is as follows:








Example Code


<?php


// Include this function on your pages
function print_gzipped_page() {


global $HTTP_ACCEPT_ENCODING;
if(
headers_sent() ){
$encoding = false;
}elseif(
strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false ){
$encoding = 'x-gzip';
}elseif(
strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false ){
$encoding = 'gzip';
}else{
$encoding = false;
}


if( $encoding ){
$contents = ob_get_contents();
ob_end_clean();
header('Content-Encoding: '.$encoding);
print(
"\x1f\x8b\x08\x00\x00\x00\x00\x00");
$size = strlen($contents);
$contents = gzcompress($contents, 9);
$contents = substr($contents, 0, $size);
print(
$contents);
exit();
}else{
ob_end_flush();
exit();
}
}


// At the beginning of each page call these two functions
ob_start();
ob_implicit_flush(0);


// Then do everything you want to do on the page
echo 'Hello World';


// Call this function to output everything as gzipped content.
print_gzipped_page();


?>

Saturday, July 4, 2009