News Feed
Sections




News Archive
feed this:

Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Oracle Technology Network:
Installing PHP on Oracle HTTP Server 12c
April 25, 2014 @ 09:41:26

On the Oracle Technology Network site today they've posted an updated version of their guide to getting PHP installed on Oracle HTTP Server 12c, complete with all the commands you'll need to get the job done.

This article shows how to install PHP on Oracle HTTP Server 12c (OHS). PHP is a hugely popular, interpreted scripting language commonly used for web applications. OHS is the web server component for Oracle Fusion Middleware. It is based on the Apache HTTP Server. OHS includes a FastCGI module which can easily be configured to use PHP's bundled FastCGI Process Manager ("PHP-FPM"). PHP-FPM has become a standard way of installing PHP. I

The remainder of the post is broken down into the steps you'll need to get it all installed and working:

  • Install Oracle Linux
  • Install Oracle HTTP Server
  • Install Oracle Instant Client 12c
  • Install PHP
  • Configure PHP-FPM
  • Configure OHS
  • Start PHP-FPM & OHS

A simple test script (a phpinfo) is also included to help you ensure everything is running as it should be.

0 comments voice your opinion now!
oracle install http server 12c tutorial guide

Link: http://www.oracle.com/technetwork/articles/dsl/jones-php-ohs-2194096.html

SitePoint PHP Blog:
PHP and WMI - Dig deep into Windows with PHP
December 24, 2013 @ 12:30:25

On the SitePoint PHP blog they've posted a new tutorial that "digs deep" into PHP on Windows with WMI, the Windows Management Instrumentation functionality - a web-based architecture information gathering system.

There are many devices (servers, desktops, laptops, tablets, phones, etc) running a Windows operating system. Many of us who live in the nix based world have to work in this OS, or if we don't, we will, sooner or later. Besides the regular tools we can expect from a *nix system (say Apache, PHP, MySQL, C/C++ compilers, etc), Windows offers a set of unique features not present in any other OS, and WMI is one of them. In this article, we will address the questions like: What is WMI? How to use WMI with PHP? We will have some minimal sample codes to go through the basic programming techniques.

He starts off the post briefly explaining what WMI is and what kinds of problems it solves. He shows you how to check if it's installed (it probably is on most recent Windows machines) and that it's enabled. He also shows how to configure the firewall to allow WMI connections and the library you'll need to get the PHP support functional (php_com_dotnet.dll). He then gets into what kind of information you can get from WMI including local hardware information, BIOS details and memory usage. Some simple code is included using the COM functionality to connect to the server and run a query.

0 comments voice your opinion now!
windows wmi information tutorial introduction com

Link: http://www.sitepoint.com/php-wmi-dig-deep-windows-php

Chris Jones:
Tracing Silex from PHP to the OS with DTrace
November 06, 2013 @ 12:31:23

Continuing on with his look at using DTrace in with PHP, Chris Jones has a new post in the series showing how to add traces to Silex-based applications, including sample output.

In this blog post I show the full stack tracing of Brendan Gregg's php_syscolors.d script in the DTrace Toolkit. The Toolkit contains a dozen very useful PHP DTrace scripts and many more scripts for other languages and the OS. For this example, I'll trace the PHP micro framework Silex, which was the topic of the second of two talks by Dustin Whittle at a recent SF PHP Meetup. His slides are at Silex: From Micro to Full Stack.

He includes a brief guide to getting the DTrace support up and running based on instructions in a previous post based on some pre-build Oracle linux packages. He links to the latest DTrace Toolkit and the downloads page to get the latest version of Silex. He sets up a super-basic Silex application (one route, "hello") and shows how to run the DTrace against it. His sample output shows both the PHP files being called and the functions/methods called inside them resulting in an output over a thousand lines long.

0 comments voice your opinion now!
silex dtrace trace execution oracle package toolkit tutorial

Link: https://blogs.oracle.com/opal/entry/tracing_silex_from_php_to

Chris Jones:
DTrace PHP Using Oracle Linux 'playground' Pre-Built Packages
October 03, 2013 @ 09:12:07

Related to some of his other posts about using DTrace with PHP, Chris Jones has a new post about using pre-built packages to make using it even easier.

We've released DTrace-enabled PHP 5.5.4 RPMs to make testing DTrace on Oracle Linux easier. As a result, the manual PHP install steps listed in Using PHP DTrace on Oracle Linux can be skipped. There are updated Betas of the "UEK3" Linux Kernel 3.8.13-16 and the dtrace-utils tools available too. With these, you now can DTrace PHP applications under Apache or with php-fpm, as well as command line PHP scripts.

He includes the full instructions on how to install the Oracle Linux distribution and grab the Oracle Instant Client libraries used for the "playground" packages. Next up is the PHP install - a quick call to yum - and a simple script showing how to set DTrace probe. Some sample output of the trace is shown and an slight modification to the probe showing how to find only calls from a certain source.

0 comments voice your opinion now!
dtrace oracle linux package playground prebuilt tutorial install

Link: https://blogs.oracle.com/opal/entry/dtrace_php_using_oracle_linux

Chris Jones:
DTrace with PHP Update
September 05, 2013 @ 09:06:16

Chris Jones has posted an update to his previous article about DTrace and PHP (found here) and some of the updates Oracle has made to introduce things like "user-level statistically defined tracing" (USDT).

At the end of last year, I blogged about Adding DTrace Probes to PHP Extensions and how Linux's SystemTap could be used to trace the DTrace probe points. Since then, Oracle's Linux's DTrace project has been making great strides. The latest Oracle Linux UEK3 Beta kernel was just released. It comes with DTrace 0.4 and also supports "User-Level Statically Defined Tracing" (USDT) for the first time. This motivated me to make sure PHP DTrace worked well with "real" DTrace, not just with SystemTap's wrappers.

He also includes a list of the other updates in this version like:

  • DTrace build script changes from PHP 5.5 were merged back to PHP 5.4
  • A 'make install' recursive dependency issue that caused Zend/zend_dtrace.d to be deleted was fixed.
  • PHP DTrace configuration now uses the correct PIC or non-PIC objects. This also fixed building PHP when any extensions were built 'shared'.
  • PHP's OCI8 2.0 extension now builds correctly with "real" DTrace.

He finishes off the post with the list of steps you'll need to follow to get this latest version up and running.

0 comments voice your opinion now!
dtrace oracle update systemtap linux

Link: https://blogs.oracle.com/opal/entry/dtrace_with_php_update

Chris Jones:
Using PHP and Oracle Database 12c Implicit Result Sets
July 26, 2013 @ 09:12:40

Chris Jones has a new post to his site showing you how to use Oracle 12c's implicit result sets in your code. Note: this functionality is still in development, so the naming/exact functionality might change.

The new Oracle Database 12c "Implicit Result Sets" (IRS) feature allows query results to be returned from a stored PL/SQL procedure (or a PL/SQL anonymous block) without requiring special PHP code. Support for IRS is available in PHP OCI8 2.0.0-devel extension when it is compiled and used with Oracle Database 12c. (OCI8 2.0 can be compiled and used with other versions of Oracle Database but the available feature set is reduced).

He shows a normal fetch loop that calls the oci_* functions and grabs each row with a oci_fetch_row call. He updates this to use an anonymous PL/SQL block (a string) instead that allows for more flexibility. He includes examples that fetch from one table, multiple tables and returns multiple result sets (that can be fetched one at a time) from the same single call.

0 comments voice your opinion now!
implicit result set oracle 12c tutorial multiple single sql plsql

Link: https://blogs.oracle.com/opal/entry/using_php_oci8_2_0

Chris Jones:
Offline Processing in PHP with Advanced Queuing
May 17, 2013 @ 09:49:26

Chris Jones has a new post today showing you how to use Oracle and PHP together to process data offline via the Oracle Streams Advanced Queuing feature.

Offloading slow batch tasks to an external process is a common method of improving website responsiveness. One great way to initiate such background tasks in PHP is to use Oracle Streams Advanced Queuing in a producer-consumer message passing fashion. [...] The following example simulates an application user registration system where the PHP application queues each new user's street address. An external system monitoring the queue can then fetch and process that address. In real life the external system might initiate a snail-mail welcome letter, or do further, slower automated validation on the address.

He includes the SQL needed to create the database and configure the queue system as well as start it up and get it ready for requests. He shows how to push an address into the queue for processing and how to get the results once it has completed in both the SQL and from the oci_* functions in PHP.

0 comments voice your opinion now!
oracle tutorial advanced queue offline processing

Link: https://blogs.oracle.com/opal/entry/offline_processing_in_php_with

Chris Jones:
Getting Started with PHP Zend Framework 2 for Oracle DB
May 15, 2013 @ 10:55:41

In his latest post to his site Chris Jones shows you how to update the Zend Framework 2 tutorial app (quickstart) to make it work with an Oracle database instead.

This post shows the changes to the ZF2 tutorial application to allow it to run with Oracle Database 11gR2. [...] The instructions for creating the sample ZF2 application are here. Follow those steps as written, making the substitutions shown [in the rest of the post].

The full schema definition is included in the post, complete with the same sample data as the tutorial. He includes the updates you'll need to make to the database configuration for the OCI8 connection and changes to the code to accommodate the Oracle data format (mostly uppercasing everything).

0 comments voice your opinion now!
zendframework2 tutorial oracle database schema code

Link: https://blogs.oracle.com/opal/entry/getting_started_with_php_zend

Chris Jones:
Excitement! Updated Underground PHP and Oracle Manual is Available for Download
December 12, 2012 @ 10:27:31

As Chris Jones has posted on his Oracle blog, there's been a recent update to the Underground PHP and Oracle Manual with a complete refresh of content from more recent versions of the powerful database.

The Underground PHP and Oracle Manual is designed to bridge the gap between the many PHP scripting language and the many Oracle Database books available. It contains unique material about PHP's OCI8 extension for Oracle Database, and about other components in the PHP-Oracle ecosystem. It shows PHP developers how to use PHP and Oracle together, efficiently and easily.

Updates include new content related to the Oracle XE 11g release and the latest updates to their OCI8 extension for PHP. Other updates include information about using PHP with Oracle TimesTen, NetBeans and Oracle Tuxedo as well as getting PHP installed on the Oracle Solaris operating system.

0 comments voice your opinion now!
oracle underground manual update content


Oracle.com:
Oracle Invests in Leading Platform-as-a-Service Company Engine Yard
November 14, 2012 @ 12:19:35

According to a new press release on the Oracle.com site today, they've announced the company's investment in the popular PaaS provider (and big sponsor of several PHP conferences, events and the community) Engine Yard. From the official press release:

Oracle announced today that it has made a strategic minority investment in Engine Yard, a leading cloud development platform that supports Ruby, PHP and Node.js, popular web development languages. [...] In conjunction with this investment, Oracle and Engine Yard expect to work closely together to provide cloud application developers with a greater choice of development and deployment options. The two companies are expected to connect their respective PaaS offerings to enable more rapid development of applications in a secure, reliable and scalable environment.

No word yet on how this will integrate with Oracle's own cloud solutions but it should be interesting to see what comes out of it. Congratulations to the Engine Yard folks on the investment!

0 comments voice your opinion now!
oracle engineyard orchestra paas provider cloud pressrelease


Oracle Technology Network:
New Features in PHP 5.4
April 12, 2012 @ 09:54:39

On the Oracle Technology Network today there's a new article from Rasmus Lerdorf about the current release of the language (PHP 5.4) and what he sees as the future for PHP.

Almost exactly eight years ago I wrote an article for the Oracle Technology Network called, "Do You PHP?". In that article, I talked about PHP's stubborn, function-over-form approach to solving the "Web problem" and the fight to keep things simple. We were getting close to releasing PHP 5.0 at the time. Now here we are almost a decade later with a shiny new PHP 5.4.0 release, and while much has happened during that time, there are also many things that haven't changed at all.

The first talks about what's the same - the ecosystem surrounding the language and the strength of the LAMP stack that PHP helped to "found". He mentions some of the up-and-comers that are alternatives to this traditional setup and some of the extensions that have been added to improve PHP's functionality (DateTime, PDO, JSON support). He talks about other improvements in the language including:

  • Better memory management
  • Traits
  • Short Array Syntax
  • Closure binding
  • Built-in webserver
  • Native session handler interface
  • Removal of register_globals, magic_quotes and safe_mode

He briefly looks ahead at "what's next" for the language and points to the "internals" mailing list and the PHP wiki

0 comments voice your opinion now!
features language future oracle


Ibuildings techPortal:
DPC Radio Developing and Deploying High Performance PHP Applications
November 10, 2011 @ 10:01:06

On the Ibuildings techPortal today, they've posted the latest in their DPC Radio series of podcasts - recordings from this year's Dutch PHP Conference. In this latest episode, they share Christopher Jones' talk "Developing and Deploying High Performance PHP Applications".

This session starts with a brief but important overview about the growing Oracle technology eco-system. It shows what Oracle's direction means for PHP application development and deployment. The majority of the talk then highlights techniques on building high performance PHP applications with the very widely used Oracle Database.

Technologies mentioned include connection pooling, monitoring, caching and suspending/resuming transactions for stateful web applications. You can listen to this latest episode either using the in-page player, by downloading the mp3 or subscribing to their feed. You can find his slides over on the Oracle Technology Network.

0 comments voice your opinion now!
dcp11 podcast dpcradio chrisjones oracle highperformance application


Chris Jones' Blog:
Scripting Language Related Sessions at Oracle OpenWorld and JavaOne, October 2011
September 27, 2011 @ 12:05:43

Chris Jones has a new post today sharing a schedule of a few scripting-related sessions coming up at Oracle's OpenWorld and JavaOne conferences.

Oracle OpenWorld and JavaOne conferences are happening in San Francisco next week. It will be a busy and exciting time.

The PHP-related sessions are at OpenWorld this year including:

For more information on the OpenWorld conference (happening October 2nd through 6th in Moscone Center in San Francisco, CA) take a look at the main event site.

0 comments voice your opinion now!
oracle scripting session openworld javaone conference


Alberto Viana's Blog:
Zend Framework and Oracle XMLType
September 21, 2011 @ 09:52:04

Alberto Viana has a new post to his blog about using Oracle ZML Types with a Zend Framework application. He created a custom adapter to create the type and handle the binding/execution on an new OCI8 connection.

So few days ago I needed to insert Oracle XMLtype with Zend Framework. I used oracle adapter to wrote it in Zend Framework. I was looking for and I found on Chris Jones Blog.

His table has a column defined as an XMLType, a special data type specifically for working with XML datasets directly in the database. His adapter includes a bit of sample XML and the code needed to bind the data as a CLOB and, using the writeTemporary function.

0 comments voice your opinion now!
zendframework oracle datatype xmltype adapter


Chris Jones' Blog:
PHP 5.3.8 RPMs are on oss.oracle.com
August 31, 2011 @ 08:40:06

Chris Jones has posted a quick note to his blog today about some new PHP packages that are available from Oracle of 5.3.8 (RPM) with one of the latest OCI8 extensions already included.

I've built PHP 5.3.8 RPM packages with various common extensions (and the latest OCI8 1.4.6) for Linux x64. They are downloadable at oss.oracle.com/projects/php/. These binaries might be useful for quick testing. They are unsupported.

He points to packages on the ULN site if you're looking for something a bit more stable. The OCI 1.4.6 version of the extension includes a few new features but was mostly a test suite update.

0 comments voice your opinion now!
oracle oci8 extension rpm package download


Chris Jones' Blog:
Oracle Tuxedo A New way to Run PHP Applications
May 13, 2011 @ 10:12:28

In a new post to his blog Chris Jones talks about a new way Oracle's developed to run PHP applications - Oracle Tuxedo, a web application server with specific support for PHP.

Oracle Tuxedo provides a scalable and highly available mid tier platform capable of managing and integrating heterogeneous applications. This overview datasheet explains its capabilities: "Oracle Tuxedo provides a service-oriented infrastructure for efficiently routing, dispatching, and managing requests, events, and application queues across system processes and application services".

If you'd like to give it a shot, you can download one of their developer virtual machines and give it a look. A tutorial is included inside as well as Netbeans and MySQL.

0 comments voice your opinion now!
oracle tuxedo application server midteir


Chris Jones' Blog:
Building PHP 5.3 with Oracle HTTP Server 11g
March 24, 2011 @ 13:04:07

The latest post on Chris Jones's blog walks you through the process, step-by-step, of how to build PHP 5.3 with support for the Oracle HTTP server included with the 11g version of the database.

I get the impression that not a lot of people in the PHP community are using Itanium. There are enough warnings during PHP compilation that would make me extremely uncomfortable using it for production applications. A PHP on Itanium installation bug that I logged long ago has not been patched, indicating to me that not many PHP people are investing time in the platform. I can't recommend using Itanium platform for PHP. Anyway, I had a need and here are the steps for posterity.

It's a pretty simple process (if you're used to compiling your own software):

  • Checks the OS and compiler to ensure needed tools are installed
  • Set up the Oracle environment variables
  • Set up the PHP environment
  • Copy over the needed header files
  • Extract PHP and modify its configure slightly
  • make distclean and then configure
0 comments voice your opinion now!
oracle server http 11g tutorial install


Chris Jones' Blog:
More on PHP and Oracle 11gR2 Improvements to Client Result Caching
March 04, 2011 @ 09:56:33

Chris Jones has posted more information to his Oracle blog about the caching and other improvements that come along with the Oracle 11gR2 release that can be used in PHP applications.

Oracle 11.2 brought several improvements to Client Result Caching. CRC is way for the results of queries to be cached in the database client process for reuse. [...] PHP OCI8 as a "client" of the database can use CRC. The cache is per-process, so plan carefully before caching large data sets. Tables that are candidates for caching are look-up tables where the network transfer cost dominates.

Like many of the other server-side tools Oracle has to offer, it's pretty simple to enable this caching. Before you had to add a custom bit to your query to tell it to enable the caching. Now it's as simple as setting it up on the CREATE or ALTER for the table - nothing extra for the developer to do.

0 comments voice your opinion now!
oracle caching client result create alter


Chris Jones' Blog:
PHP OCI8 and Oracle 11g DRCP Connection Pooling in Pictures
February 22, 2011 @ 10:44:46

Chris Jones has posted some "pictures" of the performance that an Oracle database sees when it uses the connection pooling versus the normal connect/allocate sort of connection with the Oracle OCI8 driver for PHP. As you can see, the differences in memory consumption are huge.

Here is a screen shot from a PHP OCI8 connection pooling demo that I like to run. It graphically shows how little database host memory is needed when using DRCP connection pooling with Oracle Database 11g. Migrating to DRCP can be as simple as starting the pool and changing the connection string in your PHP application.

He also describes the differences between the pooled and non-pooled connections (to the developer it's as easy as putting ":pooled" in the connect string) in his graphs, and notes that using the pooling doesn't just have to be for large site - smaller sites can benefit too.

0 comments voice your opinion now!
oci8 oracle connection pooling performance graph result


Oracle Technology Network:
Using PHP and Oracle Database 11g (Tutorials)
December 16, 2010 @ 09:10:44

As mentioned by Chris Jones today, the Oracle Technology Network has posted a few new tutorials in their "Oracle By Example" series. Two of them deal with using PHP and the 11g version of the Oracle database.

The first, Using PHP with Oracle Database 11g, is an introduction to some of the basics of interacting with the database including using connection pooling and tips on query optimization.

The second tutorial, Developing a PHP Web Application with Oracle Database 11g, shows you how to build up a basic company portal with the help of the Zend Framework and the Netbeans IDE.

0 comments voice your opinion now!
tutorial oracle 11g database otn introduction zendframework netbeans


Chris Jones' Blog:
PECL OCI8 1.4.4 is Available
November 11, 2010 @ 10:12:55

As Chris Jones has mentioned in a new post to his blog, the latest release of the Oracle OCI8 drivers for PHP has been released on PECL (version 1.4.4).

PECL OCI8 1.4.4 has just been released. It fixes a potential memory corruption using oci_set_* functions seen on 64 bit machines. This release can be used to update OCI8 on earlier PHP versions.

He talks about an error he's come across many times - "Warning: oci_connect() [function.oci-connect]: OCIEnvNlsCreate() failed" - and how it can be fixed with an environment setting. He updated the error message in this new version to be a bit more descriptive and help lead others to the problem more quickly.

0 comments voice your opinion now!
pecl oracle oci8 driver release error message


Chris Jones' Blog:
Oracle Database and Instant Client 11.2.0.2 are available on Linux
September 16, 2010 @ 09:55:08

On his OTN blog today Chris Jones announces the release of the latest Oracle database and Instant Client libraries (11.2.0.2) for the linux OS:

The Oracle 11.2.0.2 Instant Client libraries are now available on Linux x86 and x86_64 platforms from the Instant Client home page. And they'll soon be uploaded on ULN for customers with Oracle Linux support to install via the update server. If you are one of the (not so?) few users of command line PHP then you might want to grab the new client because it has Oracle bug 9891199 fixed. You'll also need OCI8 1.4.3 from PECL.

The bug this corrected caused a shutdown delay that caused issues with command-line users and their scripts. Unfortunately, the details of the bug are only available to those with an Oracle subscription. This update will not prevent you from connecting to older versions of the Oracle databases.

0 comments voice your opinion now!
oracle database instantclient update pecl shutdown bug


Oracle Technology Network:
PHP Web Auditing, Authorization and Monitoring with Oracle Database
September 13, 2010 @ 14:10:25

On the Oracle Technology Network today there's a new article from Chris Jones about using the client identifier in the OCI8 PHP-to-Oracle connections to help with auditing, profiling and monitoring your Oracle database usage.

This "client identifier" can be used by Oracle Database to distinguish between individual web application users who all connect to the database using one common set of database credentials. For example, every page in a web site might physically connect to the database as the same database user PHPUSER. If two different people 'Chris' and 'Alison' are using the site, these two user names can be set as their respective client identifiers and be passed into the database.

He shows how to set these client identifiers via the oci_set_client_identifier function (and how you could use it in older versions of the OCI8 driver too). He provides a sample application to help you get a good overall picture complete with SQL to load the database and a basic login page to submit and pull that data back out.

He moves over to the database side where he talks about enabling auditing, pulling out the logged application ID and how to use this identifier to restrict access via a Virtual Private Database on the Oracle side.

0 comments voice your opinion now!
authorization monitoring auditing oracle database oci8


Chris Jones' Blog:
PHP OCI8 1.4.3 is Available on PECL
August 10, 2010 @ 11:40:38

Chris Jones has a new post to his Oracle blog about the latest release of the OCI8 for PHP drivers to connect Oracle and PHP - version 1.4.3 - now available on PECL.

Why the two releases so close in time? The OCI8 extension is one of the few extensions that has a dual identity, being in both the PHP bundle and in the PECL repository. OCI8 1.4.2 contains the same code as in the recent PHP 5.3.3 release. The PECL bundle was made for anyone who wants a PHP 5.5.3-identical version of OCI8 when installing via PECL.

He describes some of the bugfixes that comes with this release (and what specific circumstances if effects) as well as the requirements you'll need to be able to upgrade to this new version.

0 comments voice your opinion now!
pecl oci8 oracle upgrade


Oracle Technology Network:
Integrate PHP & Java Applications w/Oracle WebLogic Server & Zend Server
August 04, 2010 @ 08:16:50

As is mentioned in this new post to the Zend Developer Zone today, Oracle has released a new article on their Technology Network about getting PHP and Java applications to work together via the Oracle WebLogic Server and Zend Server.

Whether you're experienced in Java, or PHP, or both, the ability to integrate these two development environments together is a "best of both worlds" scenario for enterprise Web application developers. [...] Zend Server, a high-performance, enterprise-ready PHP stack that runs on both Windows and Linux and that comes with a built-in "Java bridge" to connect PHP with JEE applications and services. This article will tell you more, demonstrating just how simple it is to use Zend Server to connect PHP applications with Java classes deployed on Oracle WebLogic middleware.

They talk about the Java bridge that comes with Zend Server - how to install it and make it active - as well as including some code showing how to access a sample Java class via a new Java object. They also show how to access custom Java classes and how to work with an enterprise JavaBeans server.

0 comments voice your opinion now!
java oracle tutorial zendserver javabridge integrate


Chris Jones' Blog:
Using PHP OCI8 with 32-bit PHP on Windows 64-bit
June 15, 2010 @ 12:14:31

Chris Jones has a new post to his blog today showing how to use the latest 32-bit OCI8 (Oracle) drivers in a 64-bit Windows environment (like on Windows 7 or similar OSes).

The world migration from 32-bit to 64-bit operating systems is gaining pace. However I've seen a couple of customers having difficulty with the PHP OCI8 extension and Oracle DB on Windows 64-bit platforms. The errors vary depending how PHP is run. They may appear in the Apache or PHP log. [...] Other than IIS permission issues a common cause seems to be trying to use PHP with libraries from an Oracle 64-bit database on the same machine. There is currently no 64-bit version of PHP on http://php.net/ so there is a library mismatch.

The solution is to install the Oracle Instant Client, move a few files around, edit your path and you should be good to go.

0 comments voice your opinion now!
oci8 driver oracle windows 32bit 64bit


Gennady Feldman's Blog:
Leveraging Oracle connection metadata functionality
May 27, 2010 @ 12:48:11

Gennady Feldman has a new post to his site looking at a feature of the Oracle connection functionality that comes with PHP's integration with the powerful database - metadata functionality.

Now with OEM finding what the query is is really easy (you might need to buy Oracle Performance pack to monitor vitals and performance information). So you know which query caused the spike. Do you know where that query is in your application code? [...] You already have a ton of applications written, having to go through every query to add this meta information is a ton of dev effort. What do you do?

He's found a way to help solve the problem - you can use a few handy functions to let you set some more information about the connection. These settings can give you more information about the client, a client identifier, module information and what action or function is performing the query. This information can then be queried in via the V$session variable on the server side.

0 comments voice your opinion now!
oracle connection metadata function


Gennady Feldman's Blog:
Oracle query validation
May 26, 2010 @ 11:47:06

Gennady Feldman has put together a new post for his site today looking at a recent situation he had with validating SQL queries for use with an Oracle database.

So we got an interesting use case at work where we have an admin interface to setup filters in our system. Our staff is able to enter expressions in the web interface and we have a way of checking that whatever they enter is valid or not. While trying to optimize the validation code to do stricter checking with lower overhead I ran into a little gotcha. oci_parse() function doesn't actually do validation. This was a huge surprise to me and something I didn't grok.

Frustrated by the fact that the oci_parse function didn't seem to really do much more than bind variables and prepare the SQL for insert, he searched until he came across an interesting optional flag for oci_execute, OCI_DESCRIBE_ONLY. This flag returns some explain information by default and, if the query is invalid, returns an error.

1 comment voice your opinion now!
oracle validation sql ociparse ociexecute


Gennady Feldman's Blog:
My recent learnings with Oracle Instant Client and OCI8 API
May 14, 2010 @ 09:53:45

Gennady Feldman recently spent some time doing some upgrades on his Oracle servers and, in doing so had a chance to work with the latest release of their Instant Client and how it interacts with the OCI8 extension's API.

I was recently involved in upgrading our Application servers to the latest Oracle Instant Client 11.g (11.2.0.1) including installing the latest PHP OCI8 module (1.4.1). Currently Oracle provides binaries for Linux in RPM and ZIP(?) format. (Side note: It still puzzles me as to why Oracle uses ZIP files for Linux binaries as ZIP is common to Windows and is not always available or generally used on Linux.)

He had everything prepared for the move and thought things would go smoothly during the upgrade but was surprised by a few things - the RPMs that Oracle gives are broken, an issue on the pecl update for the oci8 extension and a problem that came up with dependencies and packages for the Instant Client.

0 comments voice your opinion now!
oracle upgrade instant client pecl oci8 api issue


Zend Developer Zone:
Build an Enterprise-Grade PHP Stack with Zend Server 5.0 and Oracle 11g
April 22, 2010 @ 11:47:27

On the Zend Developer Zone today there's a new article looking at how you can build an enterprise-grade stack with the combination of Zend Server and Oracle's 11g database.

Setting up an Oracle/PHP/Apache/Linux (OPAL) development environment isn't the easiest of tasks, especially in corporate IT environments which are used to point-and-click simplicity. [...] One of the easiest ways to quickly configure a PHP environment in this environment is Zend Server, a PHP stack that runs on both Windows and Linux and that can be used to build Oracle-based applications out of the box.

The article introduces Zend Server and the functionality it provides (like a web-based management console, built-in optimization and application troubleshooting) as well as how to get it installed and working on your system. With everything all set up and ready, they show you how to configure the Oracle support for it including the use of connection pooling page caching.

0 comments voice your opinion now!
zendserver oracle database tutorial install enterprise


Chris Jones' Blog:
Reducing Oracle LOB Memory Use in PHP, or Paul's Lesson Applied to Oracle
March 22, 2010 @ 13:49:51

Following along the same theme of Paul Reinheimer's suggestion of using unset to conserve memory usage, Chris Jones has applied a similar pattern to the world of Oracle+PHP.

In Oracle you might come across this situation when dealing with LOBS. Here's an example that selects an entire LOB into PHP's memory. I see this being done all the time, not that that is an excuse to code in this style. The alternative is to remove OCI_RETURN_LOBS to return a LOB locator which can be accessed chunkwise with LOB->read().

He includes an example of pulling out some large data from a table's CLOB fields showing some stats on the memory usage, both with and without an unset to handle the growing fetched data. The end result was a much lower memory usage overall (peak) and a mention of two other things that could help with the Oracle side of things - LOB->free() and the latest OCI8 extension that frees up LOB resources more efficiently.

2 comments voice your opinion now!
memory usage optimize oracle lob benchmark


Chris Jones' Blog:
Tracing PHP Oracle Applications, part 1
January 20, 2010 @ 12:50:45

Chris Jones (of Oracle) has a new post to his OTN blog with a look at tracing in Oracle+PHP applications via some new methods added to the OCI8 extension.

No matter how it was installed, the PHP OCI8 extension provides a procedural API with familiar calls allowing efficient SQL and PL/SQL execution. The extension also supports some advanced Oracle features such as connection pooling. Recently some new OCI8 functions were checked into the PHP source code.

The new functions - oci_set_module_name, oci_set_action and oci_set_client_info - can be used on any existing (or new) Oracle connection to provide a bit more information about what's going on inside. You can get access to this information via the data dictionary views or through the SYS_CONTEXT() function in your SQL statements.

0 comments voice your opinion now!
trace oracle oci8


Community News:
Zend & Oracle Partner to Integrate Zend Server into ULN Packages
November 05, 2009 @ 09:12:01

As Chris Jones briefly mentions and this press release discusses in more detail, Zend and Oracle have joined together to make it even easier for those using Oracle to also use Zend Server as their platform.

This is a first step to making it easy for our customers and users to quickly deploy the Zend software stack without having to go to various websites, download various packages and install them. [...] We now host an rpm package on the ULN [Unbreakable Linux Network] servers called zend-server-repo which updates the Linux OS install to also look at the software repositories hosted by Zend. When a user wants to install Zend Server, just a simple command will install the zend-server product directly.

They've also added it as a package for those using the Oracle Enterprise Linuxyum-installable package. You can find out more of the technical details on the Oracle Technology Network.

Zend's press release can be found here.

0 comments voice your opinion now!
zend oracle zendserver uln linux package


Chris Jones' Blog:
PHP OCI8 1.4.0 Alpha is now available
October 07, 2009 @ 09:01:42

Chris Jones has officially launched the latest OCI8 (Oracle) drivers for PHP - version 1.4.0 Alpha:

I just released an Alpha version of PECL OCI8 1.4 on http://pecl.php.net/package/oci8 The code is also merged to what will eventually be the PHP 5.3.2 and PHP 6.0 releases. Documentation will appear on http://www.php.net/manual/en/ref.oci8.php in the next few days, if all goes according to plan.

Updates in this alpha release include a few new connection attribute functions, a change in the driver name for 11gRD2 connections and a correction of a bug in the oci_bind_by_name error handling.

0 comments voice your opinion now!
alpha oci8 driver release oracle


Oracle Technology Network:
Using PHP with Oracle HTTP Server 11g
September 15, 2009 @ 08:24:40

Chris Jones has pointed out a new article on the Oracle Technology Network about using PHP on the Oracle HTTP Server for 11g.

Oracle HTTP Server is the web server component in Oracle Fusion Middleware. Based on the Apache infrastructure, Oracle HTTP Server allows developers to program their site in a variety of languages and technologies. [...] Although PHP interpreter, language and server side module (mod_php) do not ship with the Oracle HTTP Server 11g release, Oracle will assists customers in configuration and inclusion of mod_php into Oracle HTTP Server. Note that Oracle does not support the PHP interpreter and language but it supports Oracle HTTP Server 11g release with mod_php included.

The tutorial steps you through the installation of a PHP component on the Oracle HTTP server to get the latest version of the interpreter up and running (PHP 5.3 as of the time of this post). The main part of the install is getting the mod_php extension for the server installed and working with the needed Oracle (OCI8) support. You'll need to be able to configure and make/make install to get it all working so be sure either you have the rights (or a handy admin is nearby).

0 comments voice your opinion now!
oracle http server 11g fusion


Chris Jones' Blog:
Upgrading PHP Web Applications with Minimum Downtime using Oracle Editioning
September 02, 2009 @ 12:03:47

Chris Jones has posted a guide to upgrading you PHP apps with as little downtime as possible via the new Editioning feature the 11gR2 version of the database.

The Editioning feature of Oracle Database 11gR2 is ideal for web sites that aim for no downtime when releasing application enhancements. Editioning allows certain database objects to have multiple versions all available at the same time. Applications can decide at runtime which version of the objects should be used.

He gives an example of a simple PHP application - an hours tracking app. He creates a stored function that calculates the number of days of vacation an employee can have and shows how to create a new "edition" of it with updated calculations. Your script then runs an alter on the session to point the edition to this new version.

0 comments voice your opinion now!
oracle editioning version object


Chris Jones' Blog:
New Look for the Underground PHP & Oracle Manual
July 14, 2009 @ 08:33:02

As Chris Jones mentions on his blog today, the "Underground PHP & Oracle Manual" has gotten a bit of a facelift:

Thanks to the Oracle Technology Network design team our very popular, free Underground PHP & Oracle Manual has had a makeover and gained a snazzy new front cover. Farewell to the photo of the underground car park door that used to greet me each night on the way out of the office.

The book not only has a new cover but it also has a new page where you can download the latest copy. (The contents of the book haven't changed since the end of last year, though.)

0 comments voice your opinion now!
design manual oracle underground


Chris Jones' Blog:
Inserting and Updating Oracle XMLType columns in PHP
July 13, 2009 @ 08:14:21

All of you Oracle users out there might want to check out this recent post from Chris Jones, especially if you've been using the XMLType columns in your tables.

Today a reader mailed me about manipulating XMLType columns when the data is longer than the 4K limit that character-type handling imposes. My free book (see sidebar) has examples of how to do this using CLOB handling in PHP. I noticed that my xmlinsert.php example in the book does a SELECT and UPDATE, but never actually does an INSERT.

To correct the problem of the missing example he includes example code to connect to the database, push the XML into a bind variable and select the row back out to ensure everything's still structured correctly. You need to set up a new descriptor for the insert to work (CLOB).

0 comments voice your opinion now!
clob column xmltype xml oracle insert


Oracle Technology Network:
High Performance and Availability with Oracle RAC and PHP
July 03, 2009 @ 14:12:07

John Lim has written up an article for the Oracle Technology Network about creating high performance systems with Oracle's Real Application Clusters (RAC) and PHP.

Running a software application that is able to work reliably through hardware and software failures is incredibly hard. [...] In this article, I will cover the network, architecture and design of our RAC application. Then I will discuss the real-world experiences and problems we experienced.

He details their RAC setup - load balancers, application servers and their RAC servers - before working through the different technologies and how they're all installed and configured to work together most efficiently.

0 comments voice your opinion now!
tutorial performance high install rac oracle


Juozas Kaziukenas' Blog:
How to use external libraries in PHP?
May 23, 2009 @ 20:26:09

As a part of his work for the WinPHP Challenge Juozas Kaziukenas looks at some of the external library types that you can use with your (Windows) PHP applications.

External libraries are useful for performance demanding tasks where PHP is simply too slow. Also PHP can work as front-end system for various back-end systems (where server doesn't provide any PHP supported communication types). I have written some posts about using .Net libraries in PHP so far, but there are some other choices available too.

He looks at the three types of library choices - PHP extensions, exec call. For what he wants to do, though, the COM objects are the best fit for the job.

0 comments voice your opinion now!
external extension pecl com


Chris Jones' Blog:
12 years of Oracle extensions in PHP
April 21, 2009 @ 08:47:23

It's been 12 years since the first Oracle PHP extension was committed and Chris Jones takes a brief look back in his latest blog post.

The oracle.c and oracle.h files for the "oracle" PHP extension were checked into the php/fi 2.0 source code by Stig Bakken on this day in 1997.

Chris mentions the directions the extension has headed, when "oci8" became the standard over "oracle" and the PDO driver/extension. You can find more on using PHP & Oracle in the Underground Manual and the PHP Developer Center on the Oracle Technology Network.

0 comments voice your opinion now!
oci8 anniversary year twelve extension oracle


Chris Jones' Blog:
Reducing diskspace of your Oracle Instant Client install
April 09, 2009 @ 10:29:16

Chris Jones has a recommendation for those compiling Oracle support into PHP - there's a simple way to reduce the amount of disk space that your Instant Client install uses - a "only what's needed" setup.

Most PHP OCI8 users link PHP with the Oracle Instant Client (IC) libraries that handle the underlying "client" (i.e PHP OCI8 extension) communication with the database. IC is relatively small for the features it gives, and is very easy to install. A ZIP or RPM download unpacks a few libraries. [...] Although IC isn't particularly big - and it's getting relatively smaller all the time - there are two ways to reduce its size.

His two recommendations are to use the lite client version instead of the full-blown one (only has common character sets) or you can just remove the JDBC/ODBC/OCCI libraries from the full install. He lists out the files that are actually needed by the OCI8 extension to compile correctly.

0 comments voice your opinion now!
reduce disk space oracle install instant client oci8 compile


Chris Jones' Blog:
New PHP Oracle FAQ Wiki
April 08, 2009 @ 12:05:05

Chris Jones has pointed out a new wiki page that's been set up as a more centralized resource for frequently asked questions about PHP and Oracle.

I've updated the old Oracle PHP FAQ and the Oracle PHP Troubleshooting FAQs that were hosted by Oracle Technology Network (OTN). We've redirected the old FAQ pages to a new wiki page: http://wiki.oracle.com/page/PHP+Oracle+FAQ with the updated content. Feel free to create an account and make updates. Hosting the FAQ on a wiki seems appropriate because PHP is open source and grows by the value of everyone's contributions.

Questions so far include some of the basics (connecting, querying, etc) and a few more complicated issues like pre-fetching, LOBS and new information for using the Zend Server to connect to your Oracle databases.

0 comments voice your opinion now!
oracle wiki faq basic advanced frequently asked questions


Chris Jones' Blog:
PHP OCI8 Signal Handling and --enable-sigchild
March 25, 2009 @ 10:22:51

Chris Jones has changed his stance on something he's been recommending PHP users compiling the OCI8 libraries into their installation - the use of enable-sigchild.

I am no longer blindly recommending using --enable-sigchild when configuring PHP with the OCI8 extension. I used to do this as a catch-all. It might have saved some users grief, and did little harm. With changes in recent versions of Oracle and my gut feel about common usage, it will be less confusing not to mention it as a general suggestion.

The point of using the compile flag was to help with the opening/closing of connections to Oracle server processes, but there's a better way he recommends now - using a "BEQUEATH_DETACH" option of "YES" in the sqlnet.ora/Apache config. If that doesn't work, then look into recompiling with the enable-sigchild option.

0 comments voice your opinion now!
oic8 oracle compile signal handle bequeathdetach recommendation


Oracle Technology Network:
Installing PHP and the Oracle Instant Client for Linux and Windows
March 23, 2009 @ 20:23:22

Chris Jones has written up a guide for getting the Oracle Instant Client and PHP up and working on Linux and Windows.

Oracle 11g Instant Client is the easiest way to connect PHP to a remote Oracle database. This notes describes how to install PHP with the OCI8 Extension and Oracle Instant Client on Windows and Linux. The free The Underground PHP and Oracle Manual contains more detail and explains other installation options.

The guide walks you through enabling the PHP OCI8 Extension on Windows/Linux, verifying that its correctly installed and making a sample request to the remote Oracle database.

0 comments voice your opinion now!
oracle oci8 install instant client linux windows database


Chris Jones' Blog:
The PHP "./configure --with-oci8" Option in Detail
March 13, 2009 @ 07:58:07

Just for those PHP & Oracle users out there Chris Jones has posted a new entry to his Oracle blog detailing the different ways you can compile with oci8 support.

PHP OCI8 can be built using libraries from a full Oracle Database (or Database "Client") install, created from running the GUI installer. This is often referred to as an "ORACLE_HOME" install, since an environment variable of that name is set to the installed Oracle software directory. [...] Another dimension to the install is that PHP extensions can be statically compiled into the PHP executable(s), or built as shared binaries. If OCI8 is built as a shared library it is loaded into PHP as a result of setting the php.ini option "extension=oci8.so".

There's eight different methods he mentions including building it as a shared module, using the normal Oracle libraries to build and using the Instant Client libraries to run the build.

0 comments voice your opinion now!
configure oci8 oracle detail extension shared static


An Phillips' Blog:
COM/.NET Interop in Zero PHP
January 29, 2009 @ 15:03:25

Ant Phillips looks a bit at some interoperability between the PHP and Project Zero when to comes to using the COM/.NET extension.

Zero doesn't currently support the COM/.NET extension in PHP. No matter though, there is a handy open source project called JACOB that bridges between Java and COM/.NET. In fact, there is an easier way to do this using a Groovy library called Scriptom. This is really just a friendly wrapper around JACOB to provide a better syntax for calling methods and accessing properties.

He also includes a quick introduction and howto on getting the functionality up and working in a Windows environment - download, add the JAR to your path, edit your php.ini and copy and paste some example code in to see it in action.

0 comments voice your opinion now!
com net interoperability zero extension jacob scriptom


Chris Jones' Blog:
PHP 5.2.8 RPMs are available on oss.oracle.com
January 23, 2009 @ 08:49:44

Chris Jones has a quick note concerning the update in version of the PHP packages for their Oracle Enterprise Linux distribution:

I've updated the PHP RPMs on http://oss.oracle.com/projects/php/ and released PHP 5.2.8 RPMs with the OCI8 extension for Oracle Enterprise Linux (i.e Red Hat Enterprise Linux) 4.7 and 5.2 on 32 and 64 bit platforms.

The packages were built for Oracle Enterprise Linux 4.7 on the x86 platform (but will also install on a Red Hat Enterprise Linux server). The three major components - command line, CGI interface and Apache module - are all included as well as several standard PHP extensions. The install will require that you have the Oracle Instant Client installed.

0 comments voice your opinion now!
oracle enterprise linux php5 package update instant client


Oracle Technology Network:
Installing PHP 5.2 for Oracle on Mac OS X 10.5 (Leopard)
January 16, 2009 @ 11:13:02

Tony Bibbs has posted a new tutorial to the Oracle Technology Network website for all of the Oracle & Mac users out there - Installing PHP 5.2 for Oracle on Mac OS X 10.5 (Leopard).

If you've ever attended a PHP conference, you might have thought that Apple was a sponsor based on all the Mac laptops you saw. Many of the PHP developers toting Macs are running Linux as a virtual machine but more and more PHP developers work natively on the Mac. Recognizing this fact, Oracle has made it downright easy to develop PHP/Oracle applications on the Mac. In this guide I'll show just how easy it is to get your Mac setup to build Oracle-based PHP applications.

His method requires that you have access to a server already running Oracle (even the Express Edition will do), XCode and either Fink or MacPorts (optional). His setup is to use the Oracle installation inside of a virtual machine to get the needed libraries from to build PHP correctly. He even includes some screenshots of the Parallels installation of Kubuntu and some test code to ensure things are working as they should.

0 comments voice your opinion now!
oracle mac osx install parallels virtualmachine kubuntu tutorial


Chris Jones' Blog:
PHP OCI8 1.3 RPM is now on ULN
December 12, 2008 @ 07:55:31

Chris Jones has announced that the latest build of the OCI8 drivers for PHP (the RPM of them) has been posted to their "Unbreakable Linux Network" site.

A "php-oci8-11gR1" RPM is now available on the "Unbreakable Linux Network" (http://linux.oracle.com/) in the Oracle channel. If you have the appropriate ULN subscription, you can use 'up2date' or 'yum' to install it and its dependencies (e.g. the Oracle Instant Client 11g RPM).

This new package includes drivers for 9iR2, 10g and 11g Oracle databases and uses connection pooling if it is available.

0 comments voice your opinion now!
oracle rpm update unbreakable linux network database driver


Chris Jones' Blog:
Available Now! Underground PHP & Oracle Manual, December 2008 Edition
December 09, 2008 @ 11:18:58

Chris Jones has announced the release of the latest version of the Undergroupnd PHP & Oracle Manual.

A hot-off-the-press, free, 290 page, updated version of the Underground PHP & Oracle Manual is available for download from http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf. [...] The previous edition was released way back in May 2007. Since then, Oracle Database 11g and the OCI8 1.3 extension have been released, there have been various changes in PHP community, and I've simply just gathered more notes, examples and have more information to share.

The manual has doubled in size and includes tons of new content reflecting the updates since the previous release. Chris thanks those who helped in creating the content, helped get it out to the community and his co-author Alison Holloway.

0 comments voice your opinion now!
underground oracle manual december edition update


Chris Jones' Blog:
PHP Brasil '08 - Trip Report
December 08, 2008 @ 09:32:31

Chris Jones (of Oracle) has posted his trip report from this year's PHP Brasil conference he attended:

Last week's PHP Brasil '08 conference was held at the "UNIFIEO" University in Osasco, a region of Sao Paulo. [...] The conference was organized under the leadership of Er Galvao Abbott with community input, and in conjunction with a logistics team from "Tempo Real Eventos". The conference was very interesting and successful.

He mentions the training sessions, talks and the exhibition hall that was "arranged around a basket ball court with a life-size PHP ElePHPant dominating one end". Lots of Oracle elePHPants were given away and the social events were enjoyed, accomidations were nice and plenty of networking was going on throughout the days.

0 comments voice your opinion now!
phpbrasil08 brasil conference oracle recap report


Chris Jones' Blog:
Which OCI8 DLL to use in PHP 5.3
December 05, 2008 @ 07:58:54

With the release of another DLL driver for PHP on Windows to access Oracle databases, Chris Jones wanted to alleviate any confusion there might be between the two in a new blog post.

As I foreshadowed in a now distant post, Pierre has installed Oracle 11g Instant Client on the PHP Windows build box and updated the OCI8 build scripts for PHP 5.3 (and PHP 6). PHP 5.3 now has two mutually exclusive versions of the OCI8 extension DLL [...] The two DLLs have the same user script API that do the same thing. You only need to (and only can) enable one at any one time. Choose the one that matches your Oracle client libraries.

The two DLLs - php_oci8.dll and php_oci8_11h.dll - have pretty self-explanitory names, but it could be confusing as to whether you need both or not if you go the 11g route.

1 comment voice your opinion now!
oracle dll driver windows 11g oci8 extension php5 php6


Chris Jones:
Converting REF CURSOR to PIPE for Performance in PHP OCI8 and PDO_OCI
November 04, 2008 @ 08:48:36

In this new post to his blog Chris Jones looks at an option to increase the performance of your PHP/Oracle application even more - converting a REF CURSOR into a piped data set via the PDO_OCI extension.

REF CURSORs are common in Oracle's stored procedural language PL/SQL. They let you pass around a pointer to a set of query results. However in PHP, PDO_OCI doesn't yet allow fetching from them. [...] One workaround, when you can't rewrite the PL/SQL code to do a normal query, is to write a wrapper function that pipes the output.

He includes an example, creating an example myproc() that contains the query to select the last names of all employees in the table. This procedure is put inside of a package so it can be called directly in the SQL statement and the ref cursor can be automatically piped to output.

0 comments voice your opinion now!
oracle oci8 extension pdooci performance refcursor pipe procedure package


Singapore PHP User Group:
Blair Layton of Oracle Presents on 11g (video)
October 30, 2008 @ 09:32:46

Chris Jones has pointed out a video of a recent presentation at the Singapore PHP User Group Meeting done by Blair Layton (of Oracle Asia Pacific) on the OCI8 extension and using it to connect PHP.

While most PHP developers start off on the LAMP (Linux, Apache, MySQL, PHP) stack there maybe a need to investigate OPAL (Oracle, PHP, Apache, Linux). This talk will discuss what Oracle offers PHP developers including operating system, database, middleware and tools support. You will find out how to take advantage of specific features in Oracle Database 11g that assist PHP developers such as Database Resident Connection Pooling with code samples and demos. An example architecture from a USA web company of a highly scalable PHP application that uses Oracle database will also be discussed.

His slides are also available for download - Set 1, Set 2 and you can watch the full video here.

0 comments voice your opinion now!
blairlayton oracle presentation video slide download 11g


EasyTech Blog:
Executing PL/SQL code in Zend Framework
October 29, 2008 @ 11:15:17

On the EasyTech blog, there's a recent post for Zend Framework developers out there working with the Oracle database showing how to execute PL/SQL code from your Zend_Db queries.

Calling PL/SQL code from PHP can be tricky sometimes, specially when the PL/SQL procedure has input and output parameters. In this posting I will show you how to call a procedure from the PHP using Zend Framework. I will assume you have some experience using Zend Framework, specially the Database module (Zend_db).

He walks through the creation of a simple PL/SQL stored procedure and how to prepare your query to get results out of it (Zend_Db_Statement_Oracle and an execute call). There's a few stipulations you'll need to follow - named parameters, reserving space for the output and using references for output variables.

0 comments voice your opinion now!
plsql oracle tutorial zendframework stored procedure


Chris Jones' Blog:
Oracle 11g Result Caching and PHP OCI8
October 29, 2008 @ 07:52:33

Chris Jones has written up another post about a feature in some of the latest OCI8 libraries for PHP - result caching.

Oracle Database 11g introduced "server-side"and "client-side" result caches. The database cache is enabled with the RESULT_CACHE_MODE database parameter, which has several modes. With the default mode, queries for which you want results to be cached need a hint added - No PHP changes are required.

This caching is perfect for results from smaller lookup tables and can drop CPU usage by quite a bit. Oracle automatically takes care of validating the cache entries when something changes the stored results so your query is always fetching the latest (without having to worry about a timestamp on the cache or anything like that). He gives a few examples of how it would work, comparing the queries both with and without the caching.

0 comments voice your opinion now!
oracle oci8 driver cache result update tutorial 11g


PHPBuilder.com:
Using the ADOdb library with Oracle and PHP
October 24, 2008 @ 09:35:14

On the PHPBuilder.com site today there's a new tutorial continuing in their Oracle theme about using the ADOdb libraries to access the database from your application.

Last week we discussed the use of the OCI8 extension and connection methods for using ADOdb to connect to an Oracle database. This week we'll delve further into the ADOdb library and will disect some example code to get you up to speed!

He gives an overview of some of the functions needed to make the connection and fetch results from a simple query. Some sample code and explanation is also included.

0 comments voice your opinion now!
adodb library database oracle tutorial example


PHPBuilder.com:
Oracle with PHP a Developer's View
October 20, 2008 @ 09:30:03

PHPBuilder.com has a new basic tutorial introducing you to the world of the powerful combination of Oracle and PHP:

This article is for the developer who wants to use the PHP scripting language with an Oracle database to develop their application. PHP is one of the most commonly used scripting languages, as it is open source and has procedural as well as object-oriented capabilities. Oracle is a popular RDBMS and that's the reason this combination is very useful for web-based application development.

The article talks about the OCI8 extension and gives a sample of its use to connect to a remote machine (using a full TNSNAMES-formatted string for the host). The code is explained a bit from the connect down to the oci_close.

0 comments voice your opinion now!
oracle developer tutorial introduction oci8 example


Christopher Jones' Blog:
Free Experience Oracle, PHP & Ruby/Rails at Oracle HQ
August 15, 2008 @ 10:24:51

Christopher Jones points out a free event that Oracle is having at its Headquarters (in Redwood Shores, CA) - "Experience Oracle, PHP & Ruby/Rails".

Oracle is running a free workshop at its Headquarters on August 25th. This is a call for developers interested in developing applications in PHP, Ruby/Rails, Java, .Net or even wanting to use Oracle's free SQL Developer tool or learn web development with Oracle's APEX product.

They'll be providing lunch and the information, you just show up and soak it all in. You can find more information about the event here (and register to reserve your spot).

0 comments voice your opinion now!
event oracle rubyonrails headquarters hq register


Oracle Technology Network:
Oracle Symfony in PHP Minor
July 10, 2008 @ 18:02:37

The Oracle Technology Network has a new article posted looking at a basic application that combines the power of an Oracle database with the flexibility of the Symfony framework.

Where should someone who wants to learn Symfony begin? Project Symfony has a very informative and well-kept Web site, with extensive documentation. As it turns out, there is a book about Symfony and there are also numerous tutorials-unfortunately all of them created using a MySQL database. That is, in essence, why I decided to write this article about Symfony and Oracle. It's not a full-blown tutorial, but I hope it will be helpful to those who want to use Symfony with Oracle.

The sample application uses the latest version of Symfony, an Apache web server and the Zend Core for Oracle to install and configure the needed setup. The bulk of the tutorial is taken up with examples of how to tell the ORM layer of Symfony about your database tables and how to build the default classes from them.

0 comments voice your opinion now!
oracle symfony tutorial propel orm database layer


Christopher Jones' Blog:
Vote to have more PHP sessions at Oracle Open World
June 25, 2008 @ 08:48:51

Headed to this year's Open World? Want to see more PHP-related talks? Christopher Jones suggests two talks that you should nominate and check out this year's conference:

As expected, DB-centric sessions have the early running with most interest. However if you want to see PHP more prominent at the conference, a couple of PHP sessions have registered: Internet Information Server and Oracle and Ignite Your Oracle and PHP Experience with CodeIgniter

You can find out more about these and other great talks (and complete conference information) on the Open World website.

0 comments voice your opinion now!
session openworld2008 oracle codeigniter informationserver


Christopher Jones' Blog:
PHP OCI8 1.3.3 has gone "Production"
June 24, 2008 @ 07:56:22

Christopher Jones has noted that the latest version of the OCI8 drivers for PHP (in the PECL extension) have been pushed to the current stable package.

HP's OCI8 1.3.3 has support for Oracle's DRCP connection pooling and Fast Application Notification technologies giving it improved scalability and high availability. Overall, the re-architecture of the connection code is more stable. It fixes some obscure edge case issues and lets it handle re-started DB's better. Basic functionality is unchanged.

You can find out more about the package and download this latest edition from its PECL page or check out the whitepaper they recent;y wrote up about PHP and Oracle scalability.

0 comments voice your opinion now!
oci8 driver oracle pecl release stable production version


Christopher Jones' Blog:
Oracle at PHPSC - Grupo de Usuarios de PHP do Estado de Santa Catarina
June 18, 2008 @ 09:32:14

Christopher Jones has a quick post with some information about a user group meeting happening in Brazil where the upcoming topic will cover the powerful combination of PHP and Oracle.

Elton Luís Minetto wrote to tell me that "PHPSC - a PHP user group of Santa Catarina in Brazil - is organizing an event dedicated to PHP that will take place at Chapeco on June 20." [...] He's presenting a session on PHP and Oracle, and will show some great results of using PHP's OCI8 with Oracle 11g connection pooling (DRCP).

The schedule for the event can be found here with details on which talks will be given when (including Elton's at 8am on the 21st.

0 comments voice your opinion now!
phpsc2008 conference brazil event oracle talk oci8 connection pooling


James McLean's Blog:
Book Review Apress' Beginning PHP and Oracle
June 04, 2008 @ 11:16:37

James McLean has done his own review of the APress book "Beginning PHP and Oracle":

Published in August 2007, Beginning PHP and Oracle: From Novice to Professional weighs in at a hefty 763 pages long. It's one for the bookshelf, not for the backpack thats for sure!

He goes through the sections of the book - the PHP intro, some of its "Enterprise thinking", mentions of MySQL and SQLite and, of course, the large amount of Oracle content (both in using Oracle alone and in connecting the two together).

If you're in the market for a book to perhaps learn PHP and would like to move onto advanced concepts later on, this book is worth a look. If you're an experienced PHP developer and looking for an introduction into the world of Oracle, this is the book for you.
0 comments voice your opinion now!
book review apress beginning oracle novice professional


Community News:
Zend Readying for a Buyout?
May 19, 2008 @ 20:08:13

According to some details over on TechCrunch there's a few rumors being started that Zend ("the PHP company") is looking to sell.

Israeli startup Zend Technologies has fired 25 percent of its R&D team (at least ten people), as well as others across the company, in an attempt to become cash flow positive, says a source close to the company.

The official Zend word is that yes, there have been layoffs but no, they cannot comment on the reasoning behind them. Several big names are being thrown around for possible buyers - Microsoft, IBM and Oracle - who have all shown interest in the past.

0 comments voice your opinion now!
techcrunch buyout zend company microsoft ibm oracle


Harun Yayli's Blog:
oci_bind_by_name maxlength is not so optional
May 09, 2008 @ 13:45:44

Harun Yayli came across a slight problem in his development using the oci_bind_by_name function for one of his queries:

If you think that the maxlength parameter in the documentation of oci_bind_by_name is optional, see this example and think again.

His sample code gave him a "can bind a LONG value only for insert into a LONG column..." error from his Oracle database. His fix was to add that length parameter (his max column length) and all was well. One of his comments (from cj) helps to explain things a bit more:

It makes senses that a length would be required because when the oci_bind_by_name() call is made, there is no data in $$key (a.k.a. $a, $b or $c). Without a length passed, PHP tells the DB to expect a single byte string.
0 comments voice your opinion now!
ocibindbyname maxlength optional error oracle


Christopher Jones' Blog:
New AJAX & PHP Book from Oracle Press
May 09, 2008 @ 09:33:25

Christopher Jones has a quick post pointing out a new PHP and Oracle-related book from McGraw-Hill (written by Lee Barney and Michael McLaughlin covering web development with Oracle, PHP and Ajax:

The prolific Michael McLauglin just sent me a copy of his other new book "Oracle Database AJAX & PHP Web Application Development", co-written with Lee Barney.

The book looks at how to build "faster, lighter and more responsive Web applications while reducing code support and creation time". There's chapters on scalability, the basics of Ajax, PDO and multimodel communications.

0 comments voice your opinion now!
oraclepress oracle ajax book michaelmclauglin leebarney


Zend Developer Zone:
The ZendCon Sessions Ep 14 Performance Tuning for PHP with Oracle Database
April 30, 2008 @ 07:57:44

The Zend Developer Zone has posted their latest episode of the ZendCon Sessions podcast series - a talk from Christopher Jones on performance in Oracle.

Welcome to The ZendCon Sessions. This episode of The ZendCon Sessions was recorded live at ZendCon 2007 in Burlingame, CA. We hope you enjoy today's session as we listen to Christopher Jones present "Performance Tuning for PHP with Oracle Databases".

You can get at it three different ways - either through just downloading the mp3, using the in page player or by subscribing to their feed to get this and other great recorded sessions from last year's ZendCon.

0 comments voice your opinion now!
oracle zendcon2007 session podcast christopherjones performance


Maggie Nelson's Blog:
NTILE() - easy way to generate tag clouds
April 29, 2008 @ 13:44:01

For the Oracle users out there looking for an easy way to pull those tags together and make a handy little cloud out of them, Maggie Nelson has posted about a simple Oracle function that can help - NTILE.

For example, check out the documentation for the NTILE Function. Yeah, sounds kind of boring. What good could it be in the wonderful world of web development? After all, who manages employee or sales tables anymore... Answer: generating tag clouds.

Her SQL statement categorizes the tags for you automatically, dropping them in to "buckets" of font sizes. This makes it simple to loop through them (like with a foreach) and output your tags with a little help from some CSS. You can even specify how many buckets you want it to fill (how many different tag values to get and compare).

0 comments voice your opinion now!
ntile tag cloud tutorial oracle sql order bucket


Christopher Jones' Blog:
PHP Connection Pooling Whitepaper with Benchmark Available
April 25, 2008 @ 10:23:47

Christopher Jones has pointed out a new whitepaper that's been published by oracle about the scalability the connection pooling affords for current versions of PHP.

The whitepaper talks about the changes in the PHP OCI8 1.3 extension, explains some of the concepts behind DRCP and FAN, and gives best practices and tuning tips. It includes a new PHP benchmark which shows up to 20,000 connections being handled by Oracle on commodity hardware using only 2G RAM.

The paper also talks about the FAN support that's built in - the ability for PHP to use the Oracle RAC cluster functionality to make for high availability (switching between nodes). The latest beta with all of this functionality in it can be grabbed from its page on the PECL site.

1 comment voice your opinion now!
connection pooling whitepaper benchmark rac cluster oracle


Christopher Jones' Blog:
Oracle Instant Client 10.2.0.4 for Mac OS X Intel x86 is Available
April 24, 2008 @ 07:50:50

Christopher Jones has posted about the latest Instant Client release for the Intel chips running OS X:

Hot off the press, Kuassi points out that Oracle Instant Client for Apple Mac OS X (Intel x86) is now available from the Instant Client page on OTN. It's the latest 10.2.0.4 patchset.

The 10.2.0.4 release of Instant Client for Windows 32bit and Linux x86 have also been released.

The Oracle Instant Client is a lightweight version of the standard Oracle functionality that's not only smaller but allows installation of an Oracle client without having to do the full Oracle install.

1 comment voice your opinion now!
oracle instant client version download osx intel x86 windows


Christopher Jones' Blog:
PHP PECL OCI8 1.3.2 Beta Available
April 18, 2008 @ 09:32:00

Christopher Jones has posted an announcement about the latest release of the PECL OCI8 package (version 1.3.2 Beta) hitting the streets:

I've released PECL OCI8 1.3.2 Beta - the latest release of PHP's OCI8 extension with support for Connection Pooling and Fast Application Notification. The release is based on the current PHP 5.3 development branch.

He notes another change in this release - a "session release" bit of functionality persistent connections will do when nothing is referencing them anymore, mking them work a bit more like normal connections. Issues that could be caused by this can be corrected with a new setting (oci8.old_oci_close_semantics) in your php.ini.

0 comments voice your opinion now!
oracle oci8 pecl beta release connection pooling fast application notification


Christopher Jones' Blog:
Customer Interview on PHP & Oracle 11g Connection Pooling (DRCP) in Oracle
April 17, 2008 @ 07:58:16

Christopher Jones has pointed out a new customer interview that was done covering PHP and the connection pooling in Oracle 11g for Oracle Magazine.

Oracle Magazine's May/June 2008 issue contains a "Developer Nation" article. In it, David Kelly interviews Levi Dixon from Community Connect about using PHP and Oracle.

The article references the Oracle/PHP "strange combination" that used to exist and how it's evolved into a vital, living part of Oracle's stack (like with the OCI8 extension).

0 comments voice your opinion now!
oracle interview connection pooling drcp magazine


Matthew Turland's Blog:
PHP, MySQL, and Oracle An Odd Triangle
April 10, 2008 @ 13:04:30

A little while back Matthew Turland posted an interesting item to has blog talking about what he calls the "odd triangle" of PHP, MySQL and Oracle.

In [an article from Maggie Nelson in a blog entry], she remarks on the article being MySQL-oriented and how limited MySQL explain plan support is compared to Oracle. I've had some thoughts in my head for a while that are related to these points, so I finally decided to, knock on wood, put pen to paper.

Matthew talks about things he agrees with (Oracle over MySQL when it comes to hierarchal data and set operators) and some of the things that can make Oracle, with all its power, fall by the wayside. This includes its licensing, the administration costs and some of the recent developments between Sun and MySQL.

0 comments voice your opinion now!
mysql oracle database compare powerful license administration


Christopher Jones' Blog:
Location Awareness With Oracle Spatial in PHP
March 27, 2008 @ 07:50:11

Christopher Jones has posted a script to his blog today giving an example of how you can use the Spatial functionality of Oracle in a PHP application:

Oracle Spatial is a powerful library for adding location awareness to applications. This script uses the core subset of Spatial, called Oracle Locator, which is included in all Oracle Database editions.

His example connects to the database resource and makes a few example SQL queries: one that uses the sod_nn() function built in to the Spatial package to grab the store locations close to the customers, another that finds the latitude and longitude for a customer's information and a method for querying an object collection of locations in a given area.

2 comments voice your opinion now!
oracle database spatial locator example latitude longitude proximity


Developer Tutorials Blog:
Extracting text from Word Documents via PHP and COM
March 26, 2008 @ 12:02:06

In a recent blog post Akash Mehta showed how to reach into a Microsoft document (a Word file) and pull out the content inside via a PHP script.

Communicating via COM in PHP is easy as ever; especially for people coming from a VB background where executing complex tasks in MS-applications is a piece of cake, you will feel right at home in PHP. In fact, VB COM calls can be converted to PHP COM calls in just a few simple search and replaces.

He shows how to use the COM extension in a (Windows) PHP installation to access the text inside the document and manipulate the contents however you'd like (even writing them back out to another Word file).

1 comment voice your opinion now!
com document word extract content manipulate


Community News:
Come to PHP Quebec, Get a elePHPant!
February 21, 2008 @ 10:27:00

Christopher Jones is trying to bribe you to come to this year's PHP Quebec conference - he'll give you an elePHPant if you show (as sponsored by the OTN).

This year's PHP Quebec conference will be happening March 12th through the 14th in Montreal at the Sofitel Montreal Hotel. There's still spots available and you can still register (only 20 days left!) on the conference website. You can purchase tickets for just the conference, for just the PHPLab event or you can bundle them both together and attend both events.

0 comments voice your opinion now!
elephpant conference phpquebec2008 oracle register


Christopher Jones' Blog:
New PHP PECL OCI8 1.3.1 Beta available
February 20, 2008 @ 07:57:00

Christopher Jones has posted to his Oracle blog today about the release of a new beta for the PECL Oracle (OCI8) drivers for PHP.

I've created a PECL OCI8 1.3.1 Beta bundle of the code with Connection Pooling support that I mentioned in http://blogs.oracle.com/opal/2008/01/31. You can get it from http://pecl.php.net/package/oci8. The README contains the details.

Of course, it's still in beta, so any testing and feedback is more than welcome. This bundle also includes several other "non-DRCP related bug fixes" including an issue that caused constant pinging for persistent connections.

0 comments voice your opinion now!
pecl oracle driver bundle download beta


Gennady Feldman's Blog:
Installing Oracle Instant Client 11g and PECL OCI8 (Part 2)
January 04, 2008 @ 07:58:37

Gennady Feldman has posted the second part of his install instructions for setting up the Oracle Instant Client (11g) and the Oracle OCI8 drivers in PHP.

This is part 2 of my installation instructions. This is my attempt to provide an updated and simplified reference. I am leaving Part 1 as is, because that part can also be useful.

This updated tutorial shows the steps to installing 11g (versus 10g in the previous example) including the packages you'll need, the commands to make it work and a PEAR version of the install if you choose to go that route.

0 comments voice your opinion now!
oracle 11g installation tutorial instantclient pecl oci8 oracle 11g installation tutorial instantclient pecl oci8


Rob Richards' Blog:
PHP, Oracle and SELinux
December 20, 2007 @ 13:41:00

Rob Richards mentioned in a previous book review about some of the issues he was having getting the Oracle extension enabled on his Fedora 8 system. Well, he's come back after doing some more testing/compiling and has found some resolution to his issues.

I really didn't need to get it running, but the sheer fact that I tried it and it wouldn't work, pissed me off enough to spend some time getting it resolved. Hopefully this helps anyone else having the same problem. I am currently using instant client 11.1, but I did try the 10.2 version with the same results.

He steps through the process he followed - tracking down the missing libaio files, correcting an issue with SELinux loading the Oracle libraries and his realization: he just needed to allow text relocation. Included in the post are the command line calls that'd need to be made to make it all happen.

0 comments voice your opinion now!
oracle selinux compile fedora redhat linux install oracle selinux compile fedora redhat linux install


Rob Richards' Blog:
Book Review PHP Oracle Web Development
December 18, 2007 @ 07:18:00

Rob Richards has posted his own review of the Packt Publishing book "PHP Oracle Web Development" to his blog today.

Overrall I would have to say that PHP Oracle Web Development is a good book for a PHP developer needing to get up to speed quickly working with an Oracle database. [...] The only place I found the book lacking was the initial setup of the environment.

The environment they chose to go with was a Windows setup which caused him problem when he tried to compile with the oci8 extensions - libraries weren't found where they were needed. His solution? Setting his ORACLE_HOME to the right location then all was well.

0 comments voice your opinion now!
book review packt publishing oracle development book review packt publishing oracle development


Christopher Jones' Blog:
PHP 5.2.5 RPMs with OCI8 and PDO_OCI are available
December 14, 2007 @ 07:52:00

Christopher Jones has a (very) quick announcement about the latest builds of the PHP RPMs for Enterprise linux installations:

PHP 5.2.5 RPMs for x86 Enterprise Linux (i.e. RHEL) 4.6 and 5.1 are on http://oss.oracle.com/projects/php/. These are supplied "as is".

The RPMs are part of a project to provide support for Oracle Enterprise Linux servers (as well as Red Hat installs) and provide a PHP command line, CGI interface and an Apache module quickly and easily. Check out the project page to find out more and to grab this latest build.

0 comments voice your opinion now!
oci8 pdooci package rpm enterprise oracle linux redhat oci8 pdooci package rpm enterprise oracle linux redhat


Jason Sweat's Blog:
PHP Oracle Web Development (Review)
November 22, 2007 @ 07:57:00

Jason Sweat has written up a review of Packt Publishing's latest PHP-related offering (well, one of them) - "PHP Oracle Web Development".

I was recently given the opportunity to review a new book on the subject of PHP and Oracle databases. We use Oracle databases nearly exclusively at work, so this seemed like a good opportunity to me.

Jason talks about the book in general (mentioning something I hadn't seen an other reviews of the book - what else the author does besides writing books) and moves on to look at each of the chapters a bit more in depth. He notes, though, that the book seems to try to aim at a general Oracle audience wanting to learn PHP, developers might be better off picking up something that starts from scratch rather than tries to jump in in the middle.

1 comment voice your opinion now!
book review packt publishing oracle development book review packt publishing oracle development


Lorenzo Alberton's Blog:
Book review "PHP Oracle Web Development" by Yuli Vasiliev
November 20, 2007 @ 07:56:00

Lorenzo Alberton has posted a book review of one of Packt Publishing's latest books "PHP Oracle Web Development".

A while ago the fine people at Packt Publishing sent me a copy of Yuli Vasiliev's "PHP Oracle Web Development". The book consists in almost 400 pages of solid content, and is targeted at beginners-to-intermediate PHP and Oracle developers who want to learn or have a deeper understanding of the interaction of the two technologies.

He talks about the contents of the book, some of the parts he found the most interesting and a mention of the writing style.

1 comment voice your opinion now!
book review oracle development packt publishing book review oracle development packt publishing


Christopher Jones' Blog:
Guide to PHP and Ruby/Ruby on Rails Sessions at Oracle OpenWorld 2007
November 09, 2007 @ 17:38:10

Christopher Jones has posted a quick summary of the PHP (and Ruby) sessions at this year's OpenWorld 2007.

Next week as part of Oracle OpenWorld we have some activities dedicated to dynamic languages. Here's the list for easy access.

Included in his list are sessions like:

  • The Way to the Web with PHP and Oracle Database - Christopher Jones
  • Scale Your PHP Application to Tens of Thousands of Connections - Luxi Chidambaran
  • Digging Deeper into Dynamic Scripting Languages: Using Ruby on Rails with Oracle Database - Kuassi Mensah
0 comments voice your opinion now!
oracle openworld2007 ruby session rubyonrails guide oracle openworld2007 ruby session rubyonrails guide


Gennady Feldman's Blog:
Installing Oracle Instant Client and making it work with PHP
November 05, 2007 @ 12:53:00

Maggie Nelson has linked to a blog post detailing one of the simplest ways to get a powerful database system, Oracle, up and working with PHP:

This is something that I wanted to post up for a while, because this is rather simple stuff and yet it took me a while to put this whole thing together for my own use/setup. It's also something that got some people interested and they asked me to post this up. So this post is for Maggie Nelson who is an active PHP and Oracle advocate.

It's basically an eleven step process to get things up and working (on linux) and involves installing RPMs, editing config files, and configuring the PHP installation to pull in the Oracle module.

2 comments voice your opinion now!
oracle instant client compile rpm linux install oracle instant client compile rpm linux install


Zend:
Four New Articles - Value Pak, ZendCore, InfoCard & Oracle
October 26, 2007 @ 11:19:00

With recent announcements from Zend, there's talk all over about what they're doing and who they're doing it with. Here's just a few examples from Zend's own news feed:

8 comments voice your opinion now!
zend oracle valuepak zendcore infocard news zend oracle valuepak zendcore infocard news


Milw0rm.com:
Exploit - PHP5 COM Object Security Bypass (Windows)
October 23, 2007 @ 09:31:00

An exploit for PHP's COM objects on the 5.x series has been reported by shinnai - an issue that allows for a bypass of safe_mode and disable_function settings.

The exploit has been published as a PHP file for easy testing on your Windows/PHP installation (it was tested on WinXP Pro SP2 on both the CLI and Apache). No additional modules are needed for this exploit - only the COM functions and a Windows system.

The issue comes from an overflow in the str_repeat function allowing for the execution of whatever applications the developer wants on the remote Windows machine (including the ability to create and remove files and directories). There is no path for this issue currently (should be corrected in the next minor PHP release).

0 comments voice your opinion now!
com object security bypass safemode disablefunction overflow strrepeat com object security bypass safemode disablefunction overflow strrepeat


Community News:
Zend Announces Advancements with Eclipse, Microsoft, Oracle & More
October 09, 2007 @ 17:22:00

Zend made some major anouncements at this year's Zend/PHP Conference & Expo today involving Eclipse, Microsoft, Oracle, IBM and Zend Core:

Announcements included:

  • Zend Studio for Eclipse - The all-new commercial PHP IDE for Eclipse with immediate availability of a downloadable beta version
  • IBM releases the IBM Mashup Starter Kit, based on Zend Core, Zend Framework and DB2
  • Delivery by Microsoft of a new FastCGI module to improve PHP performance on Windows
  • Zend announces support for the Server Core option in Microsoft Windows Server 2008Oracle Announces PHP support for Connection Pooling in Oracle Database 11g

Check out Zend's press releases page for complete information on the announcements.

0 comments voice your opinion now!
zend eclipse oracle announcement zendcon07 ibm microsoft zend eclipse oracle announcement zendcon07 ibm microsoft


Developer.com:
Combining an Oracle Database with PHP to Manage Data
October 08, 2007 @ 07:56:00

Developer.com has posted a new article today from Deepak Vohra taking a look at the powerful combination of an Oracle database and PHP to create a simple, example app.

In this article, you will install PHP's OCI extension for Oracle database, decide which connection method to use, create a database, and retrieve data from that database and display it in a table.

They walk through the installation of the extension (on a Windows machine), some of the configuration directives you can set in the php.ini, the Oracle functions, and finally a look at connection methods and inserting/viewing information from a table. The complete code/sql for the article is also included.

0 comments voice your opinion now!
oracle tutorial extension windows oracle tutorial extension windows


Zend Developer Zone:
PHP Abstract Podcast Episode 21 PHP and Oracle
September 28, 2007 @ 07:57:00

The Zend Developer Zone has posted the latest episode of their PHP Abstract podcast series, this time staring Lorna Mitchell talking about the powerful combination of PHP and Oracle.

Today's special guest is Lorna Mitchell (lornajane to those of you who hang on on the phpc channel on freenode.net). [...] Today, Lorna is going to talk to us about PHP and Oracle.

You can grab the podcast directly as just the mp3 or you can take the easier route and just subscribe to the feed and make catching those future episodes (and some of the past ones) simple.

0 comments voice your opinion now!
phpabstract podcast oracle lornanitchell phpwomen phpabstract podcast oracle lornanitchell phpwomen


Christopher Jones' Blog:
Book Review PHP Oracle Web Development
September 24, 2007 @ 11:18:00

Christopher Jones has posted a review of one of the latest PHP-related books published by Packt Publishing - "PHP Oracle Web Development":

Yuli Vasiliev has put a lot of real-world PHP and Oracle experience into his book PHP Oracle Web Development. The book's reviewer, Arup Nanda, was, amongst other things, Oracle's DBA of the Year in 2003. The result is an excellent book that joins the PHP and Oracle worlds together.

Christopher talks about some of what the book covers (like installation and code snippets) and the book's excellent focus on different topics, giving each it's own full coverage.

1 comment voice your opinion now!
book review oracle web development packt book review oracle web development packt


Christopher Jones' Blog:
Oracle & PHP Users don't miss the Zend Conference
September 21, 2007 @ 09:31:00

In a new post to his blog, Christopher Jones mentions some of the talks that he's going to give at the upcoming Zend/PHP Conference & Expo:

Oracle & PHP users: make sure you check out the Zend Conference. I'll be given a couple of sessions, "Connection Pooling & Other Features for Data Scaling" and "Performance Tuning for PHP with Oracle Databases". There are plenty of other great talks, too.

There's tons of other sessions happening during the conference including talks on:

  • best practices
  • enterprise PHP
  • the Zend Framework
  • API design

Check out the official conference page for information on location, other sessions and registration.

0 comments voice your opinion now!
zendcon2007 oracle presentation connection pooling performance tuning zendcon2007 oracle presentation connection pooling performance tuning


Christopher Jones' Blog:
PHP OCI8 Extension 1.2.4 is in PECL
September 20, 2007 @ 07:55:00

Christopher Jones continues his previous update on the status of the new OCi8 functionality for PHP in a new post mentioning the bundling up of a recent version into a standalone package.

Antony Dovgal took a snapshot of the OCI8 extension that shipped with PHP 5.2.4 and bundled it up standalone in PECL as OCI8 1.2.4. Windows binaries are here.

Fixes included in this packages DLL include:

  • statement caching
  • LOB functionality
  • error handling methods
0 comments voice your opinion now!
pecl oci8 oracle extension windows package dll download pecl oci8 oracle extension windows package dll download


Christopher Jones' Blog:
New PDO_OCI Attributes
September 19, 2007 @ 09:37:00

Christopher Jones talkes about some updates that he's made to the default PDO functionality of PHP, adding in a few things like pre-fetching and methods to get the details of the database server you're using.

After PHP 5.2.4 shipped and a new release cycle began, I merged a couple of enhancements to PDO_OCI attribute handling. Specifically I added $dbh->getAttribute() support for ATTR_SERVER_VERSION, ATTR_SERVER_INFO, ATTR_CLIENT_VERSION and. ATTR_AUTOCOMMIT. At the moment these are only available in the PHP snapshots on http://snaps.php.net/. Let me know if there are any issues so they can be resolved before the next PHP release.

He gives examples of two things - the pre-fetching functionality, allowing for better optimization for a query, and the transaction management features, making it as simple as a try{} block to test the commit and rollback if needed.

He also mentions other properties/attributes included in the new release - ATTR_PERSISTENT, ATTR_TIMEOUT, ATTR_ORACLE_NULLS, ATTR_CASE and ATTR_ERRMODE, ATTR_SERVER_VERSION and ATTR_CLIENT_VERSION (the last two have examples).

0 comments voice your opinion now!
pdo oci oracle attribute prefetching transaction namagement pdo oci oracle attribute prefetching transaction namagement


WebReference.com:
XML-Enabled Applications
September 17, 2007 @ 10:24:00

WebReference.com has an excerpt posted from one of Packt Publishing's latest PHP-related offerings, "PHP Oracle Web Development: Data processing, Security, Caching, XML, Web Services, and Ajax" (by Yuli Vasiliev). This specific chapter talks about XML-enabled applications and how PHP fits into the mix.

Both PHP and Oracle provide comprehensive support for XML and XML-related technologies. Practically, this means you can perform any XML processing either with PHP or inside an Oracle database. [...] This chapter explains how to effectively use XML techniques and technologies available in PHP and Oracle when building XML-enabled PHP/Oracle applications.

They cover the processing of XML in PHP/Oracle apps (including the SAX, DOM and SimpleXML methods), working with XPath and processing the XML in the other half of the two - Oracle's XML processing functionality.

Check out the Packt website for more information on the book.

1 comment voice your opinion now!
xml application oracle process simplexml dom sax xml application oracle process simplexml dom sax


Christopher Jones' Blog:
Cooee - Oracle Database 11g is out
August 10, 2007 @ 15:03:00

Christopher Jones notes in a new post that the latest version of the Oracle database has been released - Oracle 11g.

On the PHP front: the OCI8 and PDO_OCI8 extensions work with it but because library names have changed to 11.1, the install script needs to be updated. I will merge a build patch for this very soon to PHP's CVS.

Until that patch is in place, he offers a quick fix to get things compiling and back up and working.

0 comments voice your opinion now!
oracle 11g database oci8 pdooci8 extension compile oracle 11g database oci8 pdooci8 extension compile


Christopher Jones' Blog:
Time for testing the final PHP 5.2 release
August 10, 2007 @ 07:57:00

On his blog today, Christopher Jones mentions some updates that are going to be included in upcoming PHP versions as pertains to the Oracle functionality that comes bundled in.

What is happening with PHP 5 is that some bigger enhancements will be merged into a planned PHP 5.3 release. [...] Even if you are still using PHP 4, or PHP 5.1, any testing you do on 5.2.4 right now will benefit you when you get around to upgrading. PHP 5.2.4 includes OCI8 (and PDO_OCI) of course, as the code base is picked up from PHP's CVS system.

There's also a list included of bugs that have been fixed in this latest version of the PECL OCI8 connectivity including a problem with a memory limit, a segfault issue when rebinding a re-executing a statement with LOB and an allowance for the statement cache size for non-persistent connections.

0 comments voice your opinion now!
oracle oci8 connectivity php5 update pecl oracle oci8 connectivity php5 update pecl


Oracle:
PHP RPMs for Oracle (PHP 5.2.3)
July 03, 2007 @ 07:48:00

Both Christopher Jones and Alison Holloway have pointed out some new PHP RPMs for Oracle with improved PDO_OCI and OCI8 functionality.

Good news everyone. We've just released a set of RPMs for PHP which include OCI8 and the Oracle PDO driver, as well as many other PHP extensions. These are for development testing only, as Oracle doesn't support them. The RPMs are based on PHP 5.2.3.

You can grab these latest RPMs from the oss.oracle.com website and to install them, follow the steps outlined on Alison's blog.

0 comments voice your opinion now!
rpm package release oracle oci8 pdooci install rpm package release oracle oci8 pdooci install


JSLabs Blog:
How to create Microsoft Office Documents with PHP
July 02, 2007 @ 12:02:00

From the JSLabs blog today, there's a quick illustration of how to dynamically create three different types of Microsoft Office files - a Word document, Powerpoint and an Excel file.

There are two main ways to build Excel, Word, and PowerPoint documents using PHP. The first is by using the COM library (only if you are using a Windows server) and the other is by using a more standardized approach such as HTML or CSV.

All three examples use the COM method and make basic structures to save out. They also include a screenshot (and description) showing where you can find the list of functions you can call to the COM object for each application.

1 comment voice your opinion now!
microsoftoffice document excel powerpoint word com object microsoftoffice document excel powerpoint word com object


PHPBuilder.com:
Cross-Platform Database PHP Development
June 25, 2007 @ 11:44:00

On PHPBuilder.com today, there's a new tutorial focusing on the development of PHP applications that can be run on different database environments without many changes to the actual application.

There are several options available to interact with multiple database engines with PHP, such as Pear DB and MDB2. However, there may instances where you will be required to develop your own custom database interface that connects to many different database engines using a single unified syntax. This article will address the development of a class that will do exactly that. In addition, we will include the ability to replicate data among several databases in real time.

They create their own abstraction layer that has the ability to make the connection, replicate data between connections, handle some errors and work with database configuration data. The tutorial shows you how to use the script for three different database types - MySQL, Oracle, and MS SQL.

1 comment voice your opinion now!
crossplatform database development tutorial abstraction oracle mysql mssql crossplatform database development tutorial abstraction oracle mysql mssql


Maggie Nelson's Blog:
When PHP and Oracle assume the worst about each other
June 13, 2007 @ 10:10:00

As mentioned by Ben Ramsey today, Maggie Nelson bumped into an issue in one of her applications with character sets and the incorrect storage/retrieval of information:

Even Oracle, which usually gets storing of data right on the money has had issues with character sets. [...] Needless to say, even when you *know* you set up your database correctly for supporting UTF8, the path to debug issues may be frustrating and full of red herrings.

She mentions the setup the application is using (NLS_CHARACTERSET AL32UTF8, NLS_NCHAR_CHARACTERSET AL16UTF16) but something wasn't right. The problem popped up when they tried to store Chinese characters into the database with the result of invalid data on a select.

After following several different leads, they finally came upon the culprit - the Apache process didn't have the access it needed to a directory in the ORACLE_HOME. In the end, it all only broke down into three easy steps to fix a very frustrating issue.

0 comments voice your opinion now!
oracle utf8 characterset nls unicode oracle utf8 characterset nls unicode


Christopher Jones' Blog:
Statement caching bug fix to improve performance of OCI8 extension
June 12, 2007 @ 08:49:00

In a new post to his Oracle blog today, Christopher Jones talks about a bug that's been found in the OCI8 extension involving statement caching and a fix he's presenting.

As part of some testing we were doing, we found that PHP's OCI8 extension had a bug in the way it used Oracle's statement caching. The fix is already in CVS and will be generally available in PHP 5.2.4. After a short period for you to send me comments, Antony Dovgal will also build a new PECL snapshot of OCI8.

He explains the issue, a problem attributed to the switching of a "hard pause" and "soft pause" when the script caching connects to the Oracle database server. This caching feature is enabled by adding an "oci8.statement_cache_size" value in your php.ini file (and has a default size of 20).

If you've been having issues with this request caching and want to get the fix right away, grab it from the CVS. Otherwise, keep an eye out for PHP 5.2.4 coming soon to correct the issue.

0 comments voice your opinion now!
oci8 oracle extension performance bugfix sql ocipconnect oci8 oracle extension performance bugfix sql ocipconnect


Rob Allen's Blog:
Tutorial Notes - Zend_Auth in French & Using Oracle
June 06, 2007 @ 08:38:00

Rob Allen has two new notes today related to the tutorials he's created for the Zend Framework, both the Getting Started and the Zend_Auth ones.

Both of these tutorials are found on Rob's site - Getting Started with the Zend Framework and Getting Started with Zend_Auth.

0 comments voice your opinion now!
oracle tutorial zendframework gettingstarted zendauth french oracle tutorial zendframework gettingstarted zendauth french


Christopher Jones' Blog:
Upgrade PHP with Oracle Application Server on Linux
June 01, 2007 @ 20:54:49

Christopher Jones has a new blog post today that gives the steps for upgrading your PHP installation on an Oracle Application server running on Linux.

Oracle includes PHP with its mid-tier Application Server 10g Release 3 allowing you to use the same web server for PHP and for J2EE applications.

He starts with where the files are located (configuration and executable) and the steps to follow to get things updated, compiled, and in working order. Their version of choice is PHP 5.2.2 (though PHP 5.2.3 was just released to help correct some other security issues found).

0 comments voice your opinion now!
linux oracle application server upgrade tutorial linux oracle application server upgrade tutorial


Alison Holloway's Blog:
Zend Core for Oracle 2.0 Released
May 24, 2007 @ 07:06:00

Alison Holloway has a new note on her blog today about the release of the latest version of the Zend Core for Oracle - version 2.0.

Zend have just released a new version of Zend Core for Oracle. This is a prebuilt and tested stack of Apache, PHP and Oracle Instant Client. If you haven't used it before, you will like the easy setup. I promise. [...] Zend Core for Oracle release 2.0 includes PHP 5.2.1, the refactored OCI8 driver, Oracle Instant Client, and an optional Apache HTTP Server 2.2.2.

This new version is supported on OSes like Oracle Enterprise Linux, X86 running Windows XP/2003/Vista and Sun Solaris Sparc 8, 9 10 just to name a few. She also mentions the Underground PHP and Oracle Manual [pdf] as a reference to help you get things running if you're stuck.

0 comments voice your opinion now!
zendcore release zend oracle package zendcore release zend oracle package


Christopher Jones' Blog:
Bigger, better, faster
May 14, 2007 @ 14:44:07

Christopher Jones and those fine folks at Oracle have released the latest version of their "Underground PHP and Oracle Manual".

The book is designed to bridge the gap between the many PHP and the many Oracle texts available. We re-worked a lot of content for this version, improving the layout and flow enormously. We also increased its size by one third, adding over fifty pages of new material.

New things in this new version include updates to the software installation steps, an updated SQL Developer section, and some new additions like a section on testing, a chapter on mapping functions and a chapter on mapping the Oracle functions.

0 comments voice your opinion now!
underground oracle manual update content version underground oracle manual update content version


Zend Developer Zone:
Zend Core Updates for Oracle and IBM Versions
May 09, 2007 @ 11:09:00

On the Zend Developer Zone, Cal Evans has posted the release announcements for two new updates for two versions of the Zend Core product - an update for Oracle (2.0.1) and for IBM (2.0.1).

Zend Core is a Zend certified and supported version of the open source PHP. It uniquely delivers a seamless out-of-the box experience by bundling all the necessary drivers and third party libraries to work with different databases.

Zend Core is the leading production quality PHP 5 stack that provides the certified, enhanced capabilities with support and PHP maintenance that serious professionals need for PHP development and production.

Updates for each of the releases can be found here:

0 comments voice your opinion now!
zendcore update oracle ibm version zend zendcore update oracle ibm version zend


Alison Holloway's Blog:
Int'l PHP Magazine Article - The Oracle PHP Connection
May 02, 2007 @ 08:26:00

Those of you out there that work with PHP and Oracle might want to check out the new article that Alison Halloway mentions in her blog today - a reprint of a fellow Oracler - Richard Rendell's article, "The Oracle PHP Connection" [pdf].

In this article we take a look the connection methods used for PHP and Oracle database using the PHP OCI8 extension. Specifically we cover non-persistent and persistent connections while offering some suggestions for choosing the right approach. In addition we will cover some upcoming features in the next major release of the Oracle database to significantly improve scalability of PHP applications.

He talks about [pdf] the types of Oracle->PHP connections, what the database name connection strings are (with examples) the environment variables for connections, closing the connections, a look at connection pooling, and an overview of using DRCP (Database Resident Connection Pooling) to accomplish it.

1 comment voice your opinion now!
intlphpmag oracle connection oci8 persistent scalability intlphpmag oracle connection oci8 persistent scalability


Community News:
eZ Systems Releases eZ Publish Extension for Oracle Database (under GPL)
April 26, 2007 @ 10:26:00

As mentioned in this new post on the php|architect website, the eZ Systems group have announced a new extension for their software (eZ Publish) to link with an Oracle database, under a GPL license no less.

This extension was previously only available under a proprietary license and was sold from $899 to $2999. It is now freely available. Last year, eZ Systems also released the Online Editor, previously only available under a proprietary license, as Open Source software under the GPL.

For more information, check out the project's documentation on the extension or just download it and get busy working.

0 comments voice your opinion now!
gpl oracle extension ezsystems ezpublish license gpl oracle extension ezsystems ezpublish license


International PHP Magazine:
April 2007 Issue Released
April 23, 2007 @ 11:47:39

The International PHP Magazine has released their latest issue for April 2007:

The April issue (Issue 04.07) of International PHP Magazine is available on virtual newsstands. This issue provides you with the latest PHP Databases information. The Oracle PHP connection, an introduction to the MaxDB PHP interface, Slony replication and IBM databases are some of the topics covered in this issue which gives you a holistic view of the databases in vogue in PHP.

Articles included in this issue cover topics like:

  • Robert Bernier's look at slave/master replication for your databases
  • Coverage of the MaxDB functionality for PHP from Thomas Simenec
  • an article from Richard Rendell about the Oracle drivers and functionality for PHP
  • Srini Bhagavan and Kellen Bombardier's look at what IBM has to offer PHP
If you're already a subscriber, you can download your copy today or, if you haven't subscribed yet, you can either get a single issue or a full year subscription.

0 comments voice your opinion now!
intlphpmag issue release database oracle maxdb ibm intlphpmag issue release database oracle maxdb ibm


Alison Holloway's Blog:
A new version of the Underground PHP and Oracle Manual coming soon
April 17, 2007 @ 07:39:00

On her Oracle blog today, Alison Holloway hints that a new version of the Undergorund PHP and Oracle Manual should be coming soon:

If you hadn't worked it out from this blog, I'm working on version 1.3 of The Underground PHP and Oracle Manual. So in a long and roundabout way what I'm really saying is stay tuned for more news on the upcoming release of the new and improved version of this book.

Unfortunately, her editor of choice (Word) has given her some problems and is delaying things a bit. Now all she needs is to "get the bookmarks and links working from a Word master document to Acrobat". Until then, you can check out the latest version here [pdf].

0 comments voice your opinion now!
oracle manual undergraound pdf comingsoon oracle manual undergraound pdf comingsoon


Christopher Jones' Blog:
When a few seconds are important improving PHP Oracle connection speed
March 28, 2007 @ 08:33:00

In a new post to his Oracle blog today, Christopher Jones has a handy tip to help you speed up your Oracle-using PHP scripts by as much as few seconds. The tip originally comes from Krishna Mohan.

What Krishna pointed out was that specifying the client character set name as the optional fourth parameter to oci_pconnect() has a postive effect on performance. If you let the value default then PHP has to invoke code to determine what the client character set should be. This lookup may involve a potentially expensive environment check.

So, a speed increase might be as easy as adding another parameter to your scripts. Christopher includes an example to show where the value goes (in an oci_pconnect call).

Testing with the database and PHP both on my little old machine I was getting figures like 0.6 vs 2.7 seconds for 50,000 pconnect calls in the one script. I saw some other results that showed only a three-times difference.
0 comments voice your opinion now!
oracle connection speed characterset parameter ocipconnect oracle connection speed characterset parameter ocipconnect


Christopher Jones' Blog:
OCI8 1.2.3 Patch is Available on PECL
February 02, 2007 @ 17:23:00

Christopher Jones has posted a quick update for PHP and Oracle users out there about an update to the latest Oracle PECL package.

Quick heads-up that Antony Dovgal has released the oci8 1.2.3 patch to PECL. Edin Kadribasic has published the corresponding Windows binaries on pecl4win. See the changenote for, well - changes.

Updates in this new release include:

  • a fix when fetching NULL values using oci_bind_array_by_name
  • correcting when the type argument of oci_define_by_name() is ignored
  • oci_bind_array_by_name doesn't work on Solaris 64bit
  • issue in php_oci_statement_fetch with more than one piecewise column
You can download the pacakge here.

0 comments voice your opinion now!
oracle pecl driver update release pecl4win changelog oracle pecl driver update release pecl4win changelog


Oracle Technology Network:
Creating an Ajax Process Using PHP and Oracle
January 31, 2007 @ 11:07:00

From the Oracle Technology Network website, there's a new tutorial in the Oracle+PHP Cookbook series that focuses on using PHP and Oracle together with Ajax to create a simple HTML form example.

In this recipe, I discuss all the code necessary to use Ajax to go from a simple Web page to a JavaScript function to an XMLHttpRequest to a PHP script and, finally, to an Oracle database. Along with the code, I do talk about the individual pieces with respect to the whole picture: what each chunk does and why it's important. By reading this HowTo, you will acquire not only some sample code but also, hopefully, a broader understanding of the whole Ajax concept.

They step through the creation of the background database tables, including the insertion of some sample data. Next up is the creation of the query to run our check, then testing the script to ensure things are set up as they need to be, and finally, creating the front-end - writing the HTML and Javascript to make the form.

The end result is a simple form that, when the contents of the text field are changed, a message is sent back to the server to check and see if the email address entered already exists.

1 comment voice your opinion now!
ajax oracle database html javascript email validation tutorial ajax oracle database html javascript email validation tutorial


Christopher Jones' Blog:
In Beijing? Come to out PHP Install Fest on 3rd Feb.
January 19, 2007 @ 10:32:00

Christopher Jones of Oracle mentions an event happening in Beijing and is open for any and all to attend - an Oracle/PHP InstallFest happening February 3rd at Oracle's Beijing R&D Center.

If you're an IT professional or student with basic Linux and programming experience and interested in PHP and Oracle Technologies, this Install Fest will give you a great introduction.

Folks from the Oracle staff (from Asia's R&D center) will be heading it up and will provide instruction on how to install and use the two technologies together. It's about two hours long and will be presented in Mandarin.

If you want to attend, be sure to send a note to dennis.hau@oracle.com to get on the list or check out this site for more info.

0 comments voice your opinion now!
oracle installfest beijing install use mandarin oracle installfest beijing install use mandarin


Christopher Jones' Blog:
Duplicate Columns in "2 Day Plus PHP Developer Guide"
January 08, 2007 @ 16:33:00

Christopher Jones has a correction on his blog for a developer guide that Oracle has put out (Oracle Database Express Edition 2 Day Plus PHP Developer Guide 10g Release 2) mentioning a problem in chapter three:

In chapter three "Connecting to the Database" at step 5 of you will get duplicate columns returned if you use the latest version of PHP.

By adding in a "OCI_ASSOC+" to the oci_fetch_array statement, all is corrected. This was due to a change in how oci_fetch_array worked (as seen in this bug).

0 comments voice your opinion now!
oracle developer guide ocifetcharray ociassoc correction oracle developer guide ocifetcharray ociassoc correction


Christopher Jones' Blog:
Highly Scalable Connection Pooling in PHP
January 03, 2007 @ 15:27:07

On his blog today, Christopher Jones hands the floor off to Luxi Chidambaran to talk some about "Highly Scalable Connection Pooling in PHP".

Oracle Database Resident Connection Pooling - a connection pooling feature in the next version of the Oracle DB that will allow very high traffic web sites to scale better. We announced this feature at Oracle OpenWorld in 2006. One cool thing about the feature is that it is not just limited to PHP - any database client could use it.

Luxi talks about pooling in general, pooling database connections specifically, how Oracle handles it and the three views around it - DBA, Client side, and the PHP user views.

0 comments voice your opinion now!
scalable connection pooling oracle database scalable connection pooling oracle database


Christopher Jones' Blog:
Installing Oracle XE on Ubuntu with PHP
December 21, 2006 @ 07:08:04

In a new entry today, Christopher Jones points out a guide to installing Oracle XE on a Ubuntu system, including PHP.

This needs no further description from me. I notice it says you need a static IP. I have a (nearly dead) laptop with the PHP/Oracle XE/Ubuntu stack working fine with a dynamic IP. Check out the references too. There are some good tips on the Ubuntu Forums link. Anyway, give it a whirl.

The guide breaks the installation down into a series of five steps, the last of which is testing the PHP installation with a simple Oracle connection.

0 comments voice your opinion now!
oracle database install ubuntu guide oracle database install ubuntu guide


Christopher Jones' Blog:
OCI8 is Leading DB Driver Code Coverage Numbers
December 20, 2006 @ 09:38:00

Christopher Jones has posted a new item today concerning code coverage and the OCI8 drivers in the latest release of PHP - version 5.2 - including some of the stats.

A week or so ago he [Nuno Lopes] enabled oci8 tests on PHP's Test and Code Coverage Analysis system. The PHP 5.2 Code Coverage numbers are in good shape for the oci8 extension. The work done on re-factoring the extension and its subsequent maintenance mostly by Antony Dovgal is commendable.

The resulting report shows the oci8 drivers topping the charts of amount of coverage with the SQLite drivers following in second place (later, he found the Berkly DB coverage came in second with 76.8%).

0 comments voice your opinion now!
coverage oracle driver oci8 statistics coverage oracle driver oci8 statistics


Alison Holloway's Blog:
Working with PHP and Oracle Presentation
December 06, 2006 @ 07:09:29

In a new post to her Oracle blog today, Alison Holloway shares the presentation she gave at this year's Melbourne Opensource Developers' Conference titled "Working with PHP and Oracle".

I don't think the organizers are going to post the presentations, so I wanted to make it available here.

The talk covers things like the free Oracle tools available, the OCI8 extension, connection management, improving performance, and some Oracle resources. You can grab the PDF download here.

0 comments voice your opinion now!
oracle talk presentation melbourne opensource developer conference oracle talk presentation melbourne opensource developer conference


PHPEverywhere:
In praise of Zend Core
November 27, 2006 @ 07:21:00

With just a quick, supporting note today, John Lim has posted to the PHP Everywhere blog about the Zend Core download that Zend offers to help make installing PHP and its friends even easier.

I'd like to point out that one of the greatest services to the PHP community that Zend is providing is the free Zend Core for Oracle and Zend Core for DB2. The latest versions install PHP 5.1.6. The little known secret is that these 2 installers are perfect for MySQL as the mysql and mysqli extensions are included in the release.

He also recommends it for the IISers out there because of the FastCGI support built in.

0 comments voice your opinion now!
zend core download setup iis fastcgi mysqli mysql oracle db2 zend core download setup iis fastcgi mysqli mysql oracle db2


ThinkPHP Blog:
Oracle with PHP and PDO
October 27, 2006 @ 10:35:00

In his latest post on the ThinkPHP blog, Andreas Uhsemann steps through a simple conversion he made from using a MySQL database with his application to using PDO on an Oracle system.

At first, one would notice that nothing was happening at all. Just a white screen, and no entries in the error log. Even if one turns on error messages explicitly (you never know the current php.ini settings) with error_reporting(E_ALL), nothing is changing.

He had the connection all set up (manual tnsnames entry and all), but there was something wrong and he couldn't see it. After changing the error reporting level (to no avail), he went for PDO's error handling. The result was an "invalid character" error from the extra semi-colon on the end of the statement.

1 comment voice your opinion now!
oracle mysql pdo error logging tnsnames handling oracle mysql pdo error logging tnsnames handling


Andi Gutmans' Blog:
PHP and Database Connection Pooling
October 25, 2006 @ 15:05:00

Hot on the heels of this announcement, Andi Gutmans has posted some of his thoughts on this new functionality and how it can help companies both large and small (he mentions specifically Yahoo! of course).

In my experience, databases have had a long history of being the typical bottleneck in PHP applications. There are many reasons for that.

His reasons include the fact that web apps being heavily database driven, PHP developers would rather write PHP than SQL, and that there's a lack of good, cheap tools to help find these bottlenecks. What he focuses on most, though, is the overhead caused by the need for multi-process environments to force each process to manage their own connections to the databse.

He talks about some stats on average connections and application speed, about efforts IBM has made to help the situation, and how it's not necessarily just the server's fault for delegating out the database resources - why can't they all adapt?

0 comments voice your opinion now!
database connection pooling oracle ibm bottleneck connection manage database connection pooling oracle ibm bottleneck connection manage


Christopher Jones' Blog:
Oracle Announces New Connection Pooling Feature
October 25, 2006 @ 07:57:00

According to this new post on Chrisopher Jones' blog, Oracle has listened to it's PHP users and is implementing something in the 11g version of their database they've been asking for for a while - connection pooling.

We're interested in how users might configure and use the connection pool in PHP and other tools. This will directly influence the configurability vs complexity of PHP's OCI8 implementation.

They're also looking to add an attribute into the php.ini file to see whether or not the server needs to disconnect at the end of an oci_close or not. Stay tuned for more information as it comes up about this cool new functionality.

1 comment voice your opinion now!
oracle connection pooling oci8 extension configure complexity oracle connection pooling oci8 extension configure complexity


Christopher Jones' Blog:
Review PHP Web Programming
October 23, 2006 @ 08:21:00

On his Oracle blog, Christopher Jones has posted a brief review of a book from Oracle spotlighting "PHP Web Programming", from author Michael McLaughlin.

Michael McLaughlin calls his new book PHP Web Programming an enabling book. I'd go further and call it a desert island book. It is the only thing you'd need to carry. It has much reference material strategically placed in the text, well thought out examples, and teaches how to build applications.

Christopher mentions some of the contents of the book - HTTP authentication, the POSIX file function,strings/objects, error handling, etc - it has it all. It especially has detailed information about using PHP with Oracle - PL/SQL, LOBs, REF CURSORS, and much more. It comes with a CD of code and applications, everything you'd need to get a PHP/Oracle installation up and running including the Oracle Database 10g Express Edition, Zend Core for Oracle's PHP stack, and the Apache web server.

0 comments voice your opinion now!
book review web programming oracle zend core express edition book review web programming oracle zend core express edition


Christopher Jones' Blog:
Review Easy Oracle PHP
October 17, 2006 @ 07:05:26

Christopher Jones has reviewed one of the first Oracle PHP books that has been published ("Easy Oracle PHP: Create Dynamic Web Pages with Oracle Data") in his latest blog post today.

The writing style of Easy Oracle PHP is very clear. The book is relatively short at 264 pages but it focuses directly on PHP-Oracle interaction and does not need to be longer (though everyone will always wish for more).

Some topics covered in the book include the basics of PHP, the OCI8 model, using PEAR, using ADOdb, and installing the PHP5/Apache/PEAR combo. Christopher's opinion of the good overall is good, but notes that the target it would best fit with is for developers coming from Oracle to PHP (but will work as well for those coming the other way).

0 comments voice your opinion now!
book review easy oracle dynamic introduction pear oop adodb oci8 book review easy oracle dynamic introduction pear oop adodb oci8


Christopher Jones' Blog:
Don't Forget Oracle Develop in San Francisco
October 05, 2006 @ 07:25:14

Christopher Jones has a note on his blog today about the Orcale Develop Conference happening in San Francisco October 23rd through the 25th and some of the PHP involvement there.

First on my ToDo list is Oracle's user conference. PHP is well represented at Oracle Develop. This is a new part of the huge Oracle OpenWorld event running in San Francisco in a few weeks.

Registrations are still open for Oracle Develop. You can register separately or if you register for the full OpenWorld you get the Develop conference gratis, I was told. Check the fine print on this.

Talks for the conference include:

  • Rasmus Lerdorf's "Getting Rich with PHP"
  • "Hands-on Lab: Developing and Deploying Oracle and PHP" from a representative from Oracle
  • and Christopher Jones giving a talk on "The PHP/Oracle Experience: Building for Scalability"

Check out the conference website for more information and to register today.

0 comments voice your opinion now!
oracle develop conference register openworld oracle develop conference register openworld


Zend Developer Zone:
Zend Releases Zend Platform 2.2 and Zend Core for Oracle
September 22, 2006 @ 07:33:17

The Zend Developer Zone notes that their parent company, Zend, has release new versions of two of their products - Zend Platform 2.2 and Zend Core for Oracle 1.5.0.

I recently received a private email announcing to only me and about one billion other people that Zend (he who pays the DevZone bills) has released the latest versions of Zend Platform and Zend Core for Oracle.

Changes for the latest Zend Platform include:

  • PHP 5.1.6 support
  • Total count of 131 fixed bugs
  • includes the Security Update which was released a couple of weeks ago

Changes for the Zend Core for Oracle include:

  • Updated PHP 5.1.6
  • Improved the Zend Enabler for Windows (PHP bug fix)
  • Updated Oracle OCI8 extension and Oracle Instant Client

You can get full details on the Zend Plaform from this page on the Zend site, and all the information about the Zend Core over here.

0 comments voice your opinion now!
zend platform core oracle release update zend platform core oracle release update


Alison Holloway's Blog:
New Zend Core for Oracle Released
September 20, 2006 @ 06:53:35

Alison Holloway has announced that there's a new version of the Zend Core for Oracle out on the streets and can be downloaded here.

Zend have just released a new version of Zend Core for Oracle, the prebuilt stack of Oracle Instant Client, Apache and PHP. It's version 1.5 and now has an optional installation of Apache 2.0.59. It used to automatically install Apache 2 whether you wanted it or not, but now you can use an existing web server, either Apache, IIS, or Oracle's HTTP Server.

It's now using PHP 5.1.6, the latest OCI8 extension (Oracle's PHP driver), and Oracle Instant Client. This stack has a native installer, and it's available on Linux, AIX, Solaris and Windows.

You can get complete details on the package from this page on the Zend webstite including highlights and the system requirements to get it up and running.

0 comments voice your opinion now!
zend core oracle release stack native installer zend core oracle release stack native installer


Adam Trachtenberg's Blog:
PHP 5 + COM + Skype Help Wanted
September 13, 2006 @ 07:15:49

Adam Trachtenberg is looking for some help in the COM department, specficially in using it with PHP5.

I'm trying to use PHP 5.2 to talk to Skype via the COM extension and Skype4COM interface.

I'm using this example from the Skype Forum, but I get a COM exception of "Skype client is not installed."

He also points to someone else with the problem, but still hasn't quite found a solution. Anyone want to help?

0 comments voice your opinion now!
php5 com skype help wanted skype4com interface not installed php5 com skype help wanted skype4com interface not installed


Christopher Jones' Blog:
LinuxWorld; Oracle PHP Books; NCLOBS
August 10, 2006 @ 07:14:26

In this new blog post today, Christopher Jones mentions a few different things, but it's the PHP-related items that are of interest particularly.

The first is a brief mention of a new PHP book from Mladen Gogala titled "Easy Oracle PHP". Christopher notes that it is now available for order. Check out the book's website for more information on that.

The second mention in the post is of the merging of the code support for Oracle's NCLOB datatype into the latest PHP 5.2 version. For more information on this datatype, check out this entry in an Oracle manual.

0 comments voice your opinion now!
oracle book nclob support easy order manual nclob oracle book nclob support easy order manual nclob


InformBank.com:
How to create Microsoft Office documents on the fly using PHP
August 07, 2006 @ 11:57:37

In this new tutorial from InformBank posted today, they show how to use PHP (and a few handy tricks) to create Microsoft Office documents on the fly.

Sometimes you have to generate some MS Office document for the users of your website using dynamic data. For example, few days ago, I had to generate some Excel reports using data from some tables in MySQL. I knew about the COM but it has a lot of disadvantages, including Windows-only platform and not very high speed. CSV is much easier and faster but you can't format the cells to make them better-looking. The method I've never thought about before was using HTML.

So here came the inspiration and after some research and experiments I wrote this tutorial for all of you who are looking how to create Office documents on the fly using PHP. Of course, I included the COM methods and some methods to create other MS Office documents like DOC and PPT, to make this tutorial as full and as useful as possible.

The tutorial starts with the creation of documents (Word, Excel, Powerpoint) with the COM functionality (the standby method PHP has had for a while). Of course, it also requires the script to be running on Windows to work. So, what's the other option? As he goes on to explain, it's something as simple as HTML.

He includes two examples of alternate mathods, showing hhow to use HTML or a CSV file to create a custom Excel document. He also throws in some code to help you stream out the resulting document as a zip file to the browser.

0 comments voice your opinion now!
microsoft document onthefly com extension html csv file microsoft document onthefly com extension html csv file


Alison Holloway's Blog:
Updated Underground PHP and Oracle Manual
July 25, 2006 @ 05:28:28

For all of the readers of Oracle's Alison Holloway mentions just such an update in her latest blog post.

Chris Jones and I have just released an updated version of the Underground PHP and Oracle Manual on OTN. We've numbered it as 1.2.1, and it has some bug fixes, and some extra information on Oracle SQL Developer.

If you have comments or corrections you'd like to submit on this new updated version, you can post a comment here.

2 comments voice your opinion now!
oracle underground update manual bug fixes sql developer oracle underground update manual bug fixes sql developer


Phish Tank:
Install & Configure Apache+PHP+ZendFramework+OracleDbXe On Windows In Minutes
July 12, 2006 @ 05:50:06

From the Phish Tank, there's this new tutorial covering a quick and easy installation of Apache, PHP, the Zend Framework, and Oracle XE on your Windows machine.

Let's say you want to install Apache+PHP+ZendFramework+OracleDbXe (Oracle Database Express Edition) and play around with the spanky new Zend Framework made available by the folks over at Zend Corporation. It's actually quite easy and painless.

Set up your development environment with Zend Framework in minutes!

The tutorial is just what you'd expect - a few steps (with some sub-steps under each) to accomplish a successful install. Since Windows installations are a bit simpler than even Linux installs, there's only three main steps to the process - download, configure, test. See? Nice and easy!

1 comment voice your opinion now!
install tutorial apache zend framework oracle windows install tutorial apache zend framework oracle windows


Zend Developer Zone:
Book Review The Underground PHP and Oracle Manual
July 11, 2006 @ 14:35:55

The Zend Developer Zone has a new book review today - a look at the Oracle Technology Network offering "The Underground PHP and Oracle Manual" .

Released last month by Oracle and trumpeted from Chris Jones' blog, The Underground PHP and Oracle Manual is an excellent guide for anyone looking to work with these two technologies.

I'm not a fanboy for Oracle but this review will read like one. It's hard to find anything to criticize in this book. It's an easy read and it's not burdened with unnecessary technical jargon. This is a book I will recommend to my friends who know Oracle and want to know more about PHP or visa-versa.

In his long version, Cal talks about the climate for PHP books these days, noting how much the author's skill has to do with its success. Thankfully, this book is doing just fine. He talks about the contents of the different chapters, brief summaries of what to expect.

His only complaint? That he'd like it in a book (dead tree) editon too...

0 comments voice your opinion now!
book review oracle underground manual book review oracle underground manual


Zend:
Newly Released Versions of Zend Core for Oracle & IBM
June 30, 2006 @ 06:07:10

Zend and IBM have announced the latest release of their Zend Cores for both IBM and for Oracle.

Zend Technologies has announced new versions of Zend Core for IBM and Oracle. Both Zend Core for IBM and Zend Core for Oracle can install Apache-2.0.50-Server and work with PHP 5.1.4. Further, Zend has extended database and PHP functionalities with both versions.

Updates to the IBM Core include updates to the DB2, Cloudscape, and Informix functionality as well as updates to the ibm_db2 extension.

Updates for the Oracle Core include changes to the oci8-treiber and support for the Instant Client web applications.

0 comments voice your opinion now!
zend core release ibm oracle updates functionality zend core release ibm oracle updates functionality


Laura Thomson's Blog:
Jobs @ OmniTI
June 27, 2006 @ 05:44:01

OmniTI, the company that employs such PHP notables as Wez Furlong, Laura Thomson, and George Schlossnagle, is hiring according to this new post from Laura.

We are currently in need of four people:
  • A junior PHP dev
  • A junior-ish web designer (Photoshop, HTML, CSS, Javascript + ideally some coding)
  • An Oracle DBA
  • A PostgreSQL DBA

The job ads will be up on our website shortly, but if you are eager to act before then, please email me your resume at jobs@omniti.com.

You can find out more about OmniTI as a company from their site and more about previous jobs and how they hire from these two links.

1 comment voice your opinion now!
jobs omniti employment junior developer web designer oracle dba postgresql jobs omniti employment junior developer web designer oracle dba postgresql


SitePoint PHP Blog:
The Underground PHP and Oracle manual
June 13, 2006 @ 05:47:07

On the SitePoint PHP Blog today, Harry Fuecks has a few comments of his own about the just released PHP and Oracle Manual from the folks over at Oracle.

Chris Jones just announced the publication of the PHP and Oracle Manual (PDF) and from a high speed eyeballing, it's good-basically tells you everything you need to know to be able to do useful stuff with PHP + Oracle but with little assumed knowledge.

In fact it seems to be geared to the typical LAMP developer...

Harry does mention one thing he'd wished they've of added to this first edition - the SQL Developer desktop tool.

0 comments voice your opinion now!
manual oracle opinion underground sql developer manual oracle opinion underground sql developer


Oracle Technology Network:
The Underground PHP Oracle Manual is Here
June 12, 2006 @ 12:27:38

As was briefly mentioned in this previous post from Christopher Jones, the time has finally come for the release of the "Undergroup PHP and Oracle Manual" - released today in PDF form [pdf].

The book is 124 pages of Oracle/PHP goodness, covering a wide range of topics - all the way from introductory material on the extensions out to simple globalization within the data. It's not a complete or complex guide to all things Oracle, but it is definitely a great resource to get you up and running quickly. They also won't teach you SQL, so you'll probably want to have a background in databases already.

The book is free for all to download and use, so grab your copy [pdf] today!

Christopher Jones also notes that they have plans to keep it updated as new chnages in the Oracle/PHP relationship arise.

0 comments voice your opinion now!
oracle underground manual release pdf book oracle underground manual release pdf book


Bshensky's LiveJournal:
Oracle Support without a Recompile
June 07, 2006 @ 06:07:57

One struggle seems to come up over and over again for several PHP developers out there - Oracle issues. Newsgroups and message boards are filled with questions and, sometimes, a few answers. bshensky is one such user - but one that found a way to get the PEAR DB package to connect to Oracle simply and without the usual recompile it would take to get the Oracle drivers successfully installed.

I have spent a dog's age researching how to get my local PHP install to talk to Oracle using PEAR and the OCI8 client stack on my Fedora Core 4 server. I eventually came to the conclusion that it was just not possible to get OCI8 to work with a RPM(binary)-install of PHP, and I looked toward other means of getting "Web access" to Oracle using different means.

Today, I found an interesting document on the Oracle Web site that allegedly details how to get the new PECL PDO database drivers for Oracle running on PHP 5 (luckily, I run PHP 5 on my FC4 box).

The document claimed that you could use PDO to load a database driver on the fly without the need for a recompile. All bshensky saw left to do was getting PDO installed (via PEAR) and getting it to pick up on the Oracle libraryes to help make the connection. A few quick commands and environment variables later, he had a complete and working PHP install with Oracle functionality called on the fly.

0 comments voice your opinion now!
oracle support libraries pdo recompile pear pecl oracle support libraries pdo recompile pear pecl


Christopher Jones' Blog:
Oracle at the NY PHP Conference
May 30, 2006 @ 05:51:06

Christopher Jones has a note on his blog today about the presentation he'll be making at the upcoming New York PHP User Conference.

I'm also helping with the Oracle PHPfest on Thursday, June 15 from 6:30 to 8:30 p.m. in the foyer. The PHPfest will get you up and running with PHP and Oracle, and set you on your way to building scalable applications.

He also mentions the book that he (and Alison Holloway) have been working on, the "Underground PHP and Oracle Manual", and it's preliminary release. Attendees for the installfest have already recieved early drafts.

If you haven't gotten your tickets for the event yet, you can still head over to the main conference site and grab your tickets today! The conference is June 14th-16th at the New Yorker Hotel in Manhattan, NY and tickets start at $395 USD.

1 comment voice your opinion now!
oracle conference new york applications enterprise oracle conference new york applications enterprise


Kian Hui Teo's Blog:
Switching between PHP 5.1.x and Zend Core for Oracle
May 22, 2006 @ 17:46:32

Via this post from Christopher Jones we learn about Kian Hui Teo's blog post talking about making the switch between the normal PHP 5.1.x installation and the Zend Core for Oracle.

This situation arises as I had installed Zend Core for Oracle (ZCO), and I wanted to try out some PDO functions. As ZCO comes with PHP 5.0.5, I was stuck, and PDO is only included from PHP 5.1.x onwards, I had to install PHP 5.1.x on my Windows box so that I can play with PDO. The assumption is that we have ZCO installed and working with a Apache2 server. I share the steps here on how to install another version of PHP so that it will co-exist peacefully with ZCO.

The post outlines a process to allow both the Zend Core and a normal installation of PHP 5.1.x to live peacefully (and still be able to switch from one to the other at any time). It's actually a relatively simple ten-step process to follow, especially if you've had much experience with installing PHP from scratch. When complete, you can start up one or the other, making it easy to test scripts in both or to just use the functionality in one (as he needed with PDO).

1 comment voice your opinion now!
zend core oracle php5 switch one machine pdo zend core oracle php5 switch one machine pdo


Christopher Jones' Blog:
Updated Oracle PHP Installation Guides
May 16, 2006 @ 14:12:55

Christopher Jones has a quick update today on two of the guides Oracle provides from it's Technology Network site:

They've both been updated to include the latest editions of both PHP (5.1) and Oracle (10.2). You can find these and a lot more Oracle/PHP know-how over on their Oracle Technology Site.

0 comments voice your opinion now!
oracle guide install update linux apache windows oracle guide install update linux apache windows


Christopher Jones' Blog:
Getting Oracle Connection Errors Faster in PHP
May 04, 2006 @ 06:47:44

On his Oracle blog today, Christopher Jones has posted a simple howto on getting the feedback the PHP Oracle functions throw when they error, only faster.

When a connection fails, you want to know about it as soon as possible. With Oracle Net there are many ways to configure connection and authentication. For example a connection:

$c = oci_connect("hr", "hr", "abc");

could be evaluated by Oracle 10g as using the Easy Connect syntax to machine "abc" (using the default port and database service) or using a net alias "abc" configured in a tnsnames.ora file.

He includes some settings to add to the sqlnet.ora file to help speed thing along - setting the directory path to enable a different authentication syntax and changing a setting to restrict the types of connect methods the client can try.

To show how it all works together, he gives an example of the tnsnames.ora, sqlnet.ora, environment variables, and the commands he ran to test it all out.

1 comment voice your opinion now!
oracle connection errors faster method restrict oracle connection errors faster method restrict


Christopher Jones' Blog:
How to Use IIS, PHP and Oracle
May 01, 2006 @ 07:24:20

Christopher Jones has posted his howto over on his Oracle blog today - a look at a common problem when using IIS, PHP, and Oracle due to incorrect permissions.

Your Windows machine has IIS, PHP and Oracle. You create a PHP script using the oci8 extension and it calls PHP5 functions like oci_connect(), oci_parse(), or PHP4 functions like OCILogon() and OCIParse(). You invoke the script and get errors like:

"Warning: ocilogon() [function.ocilogon]: OCIEnvInit() failed." or "Unable to load dynamic library php_oci8.dll - Access is denied"

The cause is the unauthorized anonymous login the IIS server is trying to use. His solution is simple: "give it to them" (the permissions, that is). In four easy steps (including the client install and rebooting IIS) you should be bug free and running smooth.

1 comment voice your opinion now!
iis oracle common bug premissions error iis oracle common bug premissions error


Oracle:
PHPFest at LinuxWorld Boston 2006
April 04, 2006 @ 07:14:55

As a part of the LinuxWorld Boston (2006) Conference for this year, Oracle is hosting a PHPFest, a place to get help installing Oracle's 10g Express Edition (Oracle Database XE) product.

Bring your laptop and get up and running on Oracle Database 10g Express Edition (Oracle Database XE) on Linux and Zend Core for Oracle. Walk away with a complete enterprise Oracle and PHP environment completely free of charge!

Ideal for developers, Oracle Database XE is free to develop, deploy, and distribute. Join Oracle experts as they demonstrate best practices for Oracle and PHP on Linux and interoperability with SQL, Java, and BPEL while taking advantage of PHP's explosive growth and new functionality.

For more information on the wheres and whens of this offer or to register, check out this page on the Oracle site.

0 comments voice your opinion now!
oracle install linuxworld boston 2006 datbase XE oracle install linuxworld boston 2006 datbase XE


Oracle Technology Network:
Oracle Database 10g Express Edition and Zend Core for Oracle
April 03, 2006 @ 07:24:24

One of the current collaborations that Zend has added to its list is one with Oracle on the Zend Core for Oracle, a helpful tool to more closely integrate your PHP code and the Oracle database you're working with.

To help you get the most out of this optimized connection, the Oracle Technology Network has posted this new tutorial covering connecting your code to the Oracle Database 10g Express Edition.

This is a complete tutorial, starting from installation (of both Oracle XE and the Zend Core) as well as configuration notes and example code. The examples range from just a simple "connect and execute the query" out to how to handle transactions, bind variables, and stored procedures.

1 comment voice your opinion now!
phpfest tutorial oracle database xe zend core phpfest tutorial oracle database xe zend core


Justin Silverton's Blog:
Excel and php without COM
March 28, 2006 @ 07:01:46

At times, working within the confines of a Microsoft world can be frustrating, especially when it comes to making more advanced versions of files (i.e. a "real" Excel file versus a CSV). In this example, Justin Silverton gives us an example of how to do just that - use PEAR to create an Excel 5 file.

He uses the Spreadsheet_Excel_Writer package to create the file without the need for getting COM in the mix. The package makes it simple to take in a dataset and write it out to a workbook - complete with column headers.

He shows two ways to save the file as well - creating a local file (on the web server) and pushing it out to the browser.

It's a simple introduction, but it's a starting place - especially for those with a project plan that requires it.

0 comments voice your opinion now!
excel com without spreadsheet_Excel_writer PEAR excel com without spreadsheet_Excel_writer PEAR


Ajax Developer's Jorunal:
Zend Announces Update Of Zend Core For Oracle
March 09, 2006 @ 07:47:50

From this post on the Ajax Developer's Journal site we learn that there has been an update to the Zend Core for Oracle - the addition of enhanced PL/SQL support and validation functionality for Oracle Database XE.

Zend Technologies, Inc., the PHP company, has announced an updated version of Zend Core for Oracle, which supports businesses using PHP for mission-critical Web applications by delivering a reliable, high performance, easy-to-install PHP development and production environment fully integrated with the Oracle Database 10g.The new release is validated with Oracle Database 10g Release 2, including the Oracle Database 10g Express Edition (Oracle Database XE).

In addition to validation of Oracle Database 10g Release 2, the update to Zend Core for Oracle has enhanced support for Oracle Procedural Language for SQL (PL/SQL) collection types, giving significantly improved performance. Developers can access PL/SQL directly from PHP in a single, fully integrated environment.

You can download this latest update directly from the Zend site

0 comments voice your opinion now!
zend core oracle update pl/sql support validation XE zend core oracle update pl/sql support validation XE


Marcus Whitney's Blog:
Microsoft on PHP (podcast)
March 09, 2006 @ 07:02:23

In this new blog entry, Marcus Whitney talks about the upcoming php|architect webcast he'll be hosting interviewing two people from Microsoft - Brian Goldfarb and Joe Stagner.

I'm pretty excited about this weeks webcast. I'll be speaking with Brian Goldfarb and Joe Stagner of Microsoft about how PHP can be used for enterprise development on the Windows platform.

I think that everyone should consider checking in and asking these guys some questions.

He also mentions that Microsoft, for a long time, only saw PHP in the context of the LAMP "package" and not as a stand-alone language. Seems their outlook has changed a bit - check out the webcast to see just how much...

0 comments voice your opinion now!
podcast pro::php microsoft COM .NET ASP Active Directory Exchange podcast pro::php microsoft COM .NET ASP Active Directory Exchange


ThinkPHP Blog:
Zend & Oracle - Current Status?
February 20, 2006 @ 07:47:07

In this brief entry on the ThinkPHP blog (by bjoern), it seems that there's more than just talk about the Zend/Oracle deal.

While reading the tecosystems blog, I stumbled over Steven's entry "The Oracle M&A Q&A: JBoss, Sleepycat and Zend". It seems that at least Oracle's interest in Zend is true: "[...] and in one panel yesterday Zend's Doron Gerstel did little to deny the Oracle interest". Also, it seems that JBoss has been acquired for $485 Mio. by Oracle.

the Q&A mentions that Zend would fit in with their plans as an "in" to the PHP community and a way of increasing their growth in the database markets.

0 comments voice your opinion now!
zend oracle current status purchase database market zend oracle current status purchase database market


Oracle Technology Network:
Building PHP Applications Using the ATK Framework
February 16, 2006 @ 15:54:43

On the Oracle Technology Network today, there's this new tutorial that covers the rapid creation of PHP applications with the help of the Achievo ATK PHP application framework.

In this article, you will learn the power of this combination by using the open source Achievo ATK PHP application framework to build a Web application on top of an existing Oracle database. Using the venerable scott schema as an example, you will see how to build a Web application with full CRUD (create, read, update, delete) support for managing employees and departments in just a few steps and in fewer than 100 lines of code.

The tutorial introduces the framework and leads you through how to get it all installed on your (Linux/Unix or Windows) system. From there, it's all code - creating the initial module, adding nodes to perform actions, and linking them together with relations in the data.

0 comments voice your opinion now!
oracle technology network build application ATK framework oracle technology network build application ATK framework


Lukas Smith's Blog:
Oracle goes shopping. Do we have an answer?
February 16, 2006 @ 06:51:02

Lukas Smith has a new post over on his blog with his take on the moves that Oracle has been taking with several Open Source companies out there (such as Sleepycat).

The topic at hand is Oracle buying one dual license open source company after another. This is getting a lot of people worried. Of course it also got me thinking.

Dual licensing is a business model associated with companies distributing their code under two very different licenses. However the same code is also provided through some open source license, usually one of the so called reciprocal licenses (GPL and friends).

That system is pretty nice on many levels. Everybody gets the code with the license they prefer. The dual licensing company benefits through a cheap open source style distribution model. However they can still make money with selling licenses which is a very lucrative business model, while they can also make money through support.

He continues, mentioning some of the serious flaws with this dual license model, including the inability for a company, at any time, to move to a more closed-source method of development. He even mentions a situation where a project could loose all developers.

And, in his words: So are we up for the challenge if we are faced with such an exodus?

0 comments voice your opinion now!
oracle shopping open source dual licensing exodus developers oracle shopping open source dual licensing exodus developers


Richard Davey's Blog:
PHP Life - The Oracle
February 15, 2006 @ 07:14:23

Richard Davey has brought his PHP-centered comic, "PHP Life", back to life with this new strip about the Zend/Oracle rumors.

After a short break the PHP Life team are back. In this strip we look at the Zend/Oracle deal. If Oracle do buy-out Zend then let's hope things fare better for the Zend staff than Oracle staff at the moment!

You can see it here (on his blog), or on the PHP Life site...

0 comments voice your opinion now!
life comic oracle zend rumor life comic oracle zend rumor


Christian Wenz's Blog:
Zend and Oracle, again
February 14, 2006 @ 18:46:00

Christian Wenz has posted this new item on his blog today with a report relating to the Oracle/Zend rumors that have been floating around.

Well, the rumors (that also made it into blogosphere, including Toby's post) obviously could not be ignored by Zend any longer. Therefore, the German division of Zend just sent out an email to a couple of people officially stating that Zend is currently not negotiating a sale to Oracle.

I suppose only time will tell on the deal, but it seems for now that the sale is not going to happen (and that there never was a sale in talks at all).

0 comments voice your opinion now!
buy zend oracle sale rumor not true german division email buy zend oracle sale rumor not true german division email


Pierre's Blog:
Oracle, Creator of PHP?
February 10, 2006 @ 06:41:47

On his blog today, Pierre has an interesting post that has details on some of the Oracle acquisition plans - some of which might include Zend.

There is rumours relayed by The Register about Oracle acquisitions plan, it is a quite surprising to see Zend in the list. Note that the text is not clear, but whether it is true or not, the scenario is interesting enough to think about the impacts in the PHP world.

He also comments on the "creator of PHP" tagline that Zend uses quite a bit, and how, if it were moved over to Oracle, would be "an insult".

0 comments voice your opinion now!
oracle creator acquisition plan zend oracle creator acquisition plan zend


Oracle Technology Network:
How To Encrypt Data in Oracle Using PHP
December 21, 2005 @ 07:25:27

From the Oracle Technology Network site today, there's this new HowTo on encrypting you data in Oracle using PHP.

A crucial but easily overlooked aspect of data storage is protecting sensitive information'"from passwords, to credit cards, to social security numbers'"using encryption. Thus an understanding as to what encryption techniques are available in Oracle (via a PHP interface), and how best to use them, is important for all Web developers.

In this HowTo, you'll get a brief introduction to the necessary tools, and even get some specific code, for improving the security of your data.

They look first at a little background - what is encryption and how is it usually used. Following that, the code comes out, showing you how to create the encryption functionality in the PL/SQL area and subit the data into the procedure via PHP. They show three different kinds of storage methods you can use as well - hashed, MAC, and AES encryption.

Thanks to Nexen.net for the pointer...

0 comments voice your opinion now!
oracle encryption aes hash mac oracle encryption aes hash mac


Oracle Technology Network:
Persisting PHP5 Objects in Oracle
December 12, 2005 @ 14:53:00

On the Orcale Technology Network's site today, there's this look at working with Oracle to make PHP5 objects persistent.

Many developers have been won over by the elegance and efficiency of PHP5's implementation of object-orientation, and are equally drawn to the power and robustness of the world's foremost database, Oracle. However, taking the next logical step'"storing PHP objects in your database for Web application development'"can be intimidating.

In this HowTo, you will learn how to store and retrieve PHP5 objects as objects in an Oracle Database via an object persistence layer (available in the OracleDatabaseObject package download). This technique allows any Oracle developer to take the final step toward full object-orientation in their Web applications'"and hence toward a renewed focus on application logic, rather than messy SQL and coding.

They discuss what the Object Persistence Layer is and how it works - including what PHP vars correspond to what column types in Oracle. From there, they get into the heart of the matter - adding persistence to a class, how to set them up and how to use (load) them...

0 comments voice your opinion now!
oracle persisting object PHP5 oracle persisting object PHP5


Wez Furlong's Blog:
Oracle's PHP Developer of the year 2005
November 21, 2005 @ 05:49:21

Many congratulations go out to Wez Furlong for being awarded the "Oracle PHP Developer of the Year" award for 2005.

You may remember that Oracle Magazine were asking for nominations to honour people that have worked in some Oracle-related facility over the past year. Someone nominated me for the "PHP Developer of the year" category, and I "won" the award.

I'm normally a bit sceptical of awards because they're somewhat arbitrary and tend to be rather intangible, however, Oracle Magazine have gone the whole nine yards to counter that intangibility aspect. I suspect that I won the award as a result of my efforts in developing PDO, the PDO OCI driver and my role in the redesign of the oci8 extension.

He also mentions the work that Antony Dovgal has put in on the same extension as well. You can also check out the formal article on the topic...

0 comments voice your opinion now!
wez furlong oracle developer year 2005 wez furlong oracle developer year 2005


Oracle Technology Network:
DeployPHP Series, Part 5 - Zend Core for Oracle Quick Start
November 17, 2005 @ 06:00:07

Today on the Oracle Technology Network, there's an article from Matt Kern with a detailed look at getting the Zend Core for Oracle working on your installation.

Since the early days PHP has been able to talk to Oracle-but it wasn't easy. Deploying PHP with Oracle was complicated at best, requiring developers and administrators to find, download, compile, link and configure multiple applications and packages. Unfortunately, this fact was counterintuitive for PHP users, as PHP has always been known for rapid deployment and quick time to market, not cumbersome processes better left to the C curmudgeons.

Thanks to the latest collaborative effort between Oracle and Zend, those days are history. Zend Core for Oracle allows developers to install, deploy, and configure PHP and Oracle just about as quickly and painlessly as possible. In this final installment of the DeployPHP series, you'll learn how that process works.

He takes his time and even includes a "Benefits for You" and "Benefits for Bosses" section to get the ball rolling. From there, he installs Apache, then installs the Core (complete with its own text UI installer). From there, it's all just a matter of configuration - and, of course, there's a whole interface to makes changes to that as well.

I'm really impressed at how this Oracle/PHP integration has turned out. When I first read things about it, I thought it was just a replacement for the Oracle drivers that PHP was using - but it's that and much more...check it out!

0 comments voice your opinion now!
zend core oracle install tutorial zend core oracle install tutorial



Community Events





Don't see your event here?
Let us know!


podcast configure refactor framework interview install community unittest code series introduction laravel opinion testing list wordpress threedevsandamaybe developer release language

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework