Oci8 unloaded

I'm using oracle9i and zend core for oracle 2 running on Windows XP. My problem is, when I check under configuration --> extension oci8-oracle is not loaded. The note says" an inconsistency occurred between the server state and the php.ini state". When I run my PHP, it shows a error message "Fatal error: Call to undefined function oci_connect() ". I didn't changed any configuration after installation of zend core. Please help.
Regards,
Liza.

I'm running into the same problem. I followed the installation instructions for Oracle 10g XE and Zend for Oracle. The phpinfo() doesn't reference php_oci8.dll specifically. In fact, there doesn't seem to be any mention of oci* at all anywhere. Even when I called the dll directly (putting in the direct path into the php.ini file) it didn't work. Default installs on Oracle XE, Apache, and Zend.
Apache is 2.2.4, PHP is 5.2.3. Zend is 2.0 I tried all of the versions of php_oci8.dll offered on the Oracle website through their link on this page:
http://www.oracle.com/technology/tech/php/htdocs/php-oracle-tutorial.html
without success.
I keep getting the same error:
Fatal error: Call to undefined function oci_connect() in C:\<<path to htdocs>>oci8_test.php on line 2.
Here's the Zend section in my httpd.conf
LoadModule zend_enabler_module "C:/Program Files/Zend/Core For Oracle/modules/apache2.2/zend_fcgi.dll"
FastCgiConfig "C:/Program Files/Zend/Core For Oracle/etc/fastcgi.conf"
AddHandler fastcgi-script .php .php3 .phtml .inc
AddType application/x-httpd-php .php .php3 .phtml .inc
<Location /ZendCore>
Order deny,allow
Allow from all
</Location>
Alias /ZendCore "C:/Program Files/Zend/Core For Oracle/GUI"
The section of the php.ini file:
[Zend]
extension=php_soap.dll
extension=php_oci8.dll
extension=php_sockets.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_mysql.dll
extension_dir="C:\Program Files\Zend\Core For Oracle\lib\phpext"
include_path=".;C:\Program Files\Zend\Core For Oracle\ZendFramework-0.8.0"
fastcgi.impersonate=1
zend_extension="C:\Program Files\Zend\Core For Oracle\lib\zend\ZendExtensionManager.dll"
zend_extension_manager.optimizer="C:\Program Files\Zend\Core For Oracle\lib\zend\optimizer"
zend_extension_manager.debug_server="C:\Program Files\Zend\Core For Oracle\lib\zend\debugger"
zend_ini_file="C:\Program Files\Zend\Core For Oracle\etc\Zend.ini"
zend_core_dir="C:\Program Files\Zend\Core For Oracle"
zend_core.allow_restart=On
zend_core.default_gui_language=en
zend_debugger.allow_tunnel=127.0.0.1/32
zend_debugger.allow_hosts=127.0.0.1/32
zend_gui_password=<<removed>>
And the sample code I'm trying to run:
<?php
     $conn = oci_connect('hr', 'hr', '//localhost/XE');
     $stid = oci_parse($conn, 'select city from locations');
     oci_execute($stid);
     print '<table border="1">';
     while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
          print '<tr>';
          foreach ($row as $item) {
               print '<td>'.($item?htmlentities($item):' ').'</td>';
          print '</tr>';
     print '</table>';
?>
__________________________________________________________________

Similar Messages

  • Phpinfo didn't show OCI8 infomration

    I used Php 5.2.5 Apache 2.2.8, Oracle 9.2. I just installed instantclient_10_2, an d I added extension path_oci8.dll to php.ini file. the Apache start fine. But in the phpinfo() output, I can't see the OCI8 section. And the script doesn't load any OCI function.
    Could any one help me? I've spent 4 hours on this.....Much appreciated!

    Plus, I've done everything steps following another post(see below), but the OCI8 still unloaded ( not showing in phpinfo()). Could anyone help? please!:
    first get lastest php_oci8.dll from here:
    http://pecl4win.php.net/ext.php/php_oci8.dll
    copy it to PHP/extensions folder, also to %windir% and %windir%/system32
    Then cause problem was still i get instant client from:
    http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html?rssid=rss_otn_soft name is: instantclient-basic-win32-11.1.0.6.0.zip
    From this zip i get just two files OCI.dll and ociw32.dll, copy it to directory form Path, for example %windir%, uncomment "extension=php_oci8.dll" in your PHP.ini (remember that default php.ini is on c:/winnt/php.ini) and it should work. You can simply check it by <? phpinfo() ?> you will se something like that: http://img50.imageshack.us/img50/3715/phpoci8my8.jpg , also just run php.exe from command line, if there is no errors oci8 is loaded.
    Still not loaded..

  • Leaving a Page fires "Page Unload" dynamic action?

    Hi,
    Which Dynamic Action fires when I am leaving a page.
    I have a page with lot of items, I want to fire alert based on some condition when user leaving that page (suppose user clicks to say some TAB), I used *"Page Unload"* dynamic action, but somehow it's not working.
    Is there any other Event I have to use?
    Thanks,
    Deepak

    Thanks.. VC
    but I cannot use that plugin as I have a Page which call other pages using iFrame and I am facing some issue..
    I have created a separate Post for this but not able to resolve it till now.. Here is the Link.
    Re: "IFrame Region" Plugin / Save Before Exit (3.0.2) - Dialog box - Question
    Thanks,
    Deepak

  • Problem with loading and unloading external swfs

    Hello Forum,
    I'm pretty new to as3, and it's giving me a great challenge. I have a large number of captivate files that I want to play inside a simple container built in CS5.5... but switching back and forth between all the movies hogs the memory like crazy, so I need something to clean it up. All code is in a single frame on the main timeline. First, I create the loader:
    var FlashLoader:Loader = new Loader();
    var flashUrl:URLRequest = new URLRequest("placeholder.swf");
    FlashLoader.load(flashUrl);
    addChild(FlashLoader);
    The actual movies are located via an XML... but as I said the memory problem is huge, so I tried to build something to get rid of that. Ideally, I want the loader to clean up everything and start life anew with a single mouse click, like so:
    function _mouseClickHandler2(event:MouseEvent):void {
              FlashLoader.unloadAndStop();
              FlashLoader.parent.removeChild(FlashLoader);
              FlashLoader = null;
              var flashUrl:URLRequest = new URLRequest(event.target.href);
              var FlashLoader:Loader = new Loader();
              addChild(FlashLoader);
              FlashLoader.load(flashUrl);
              FlashLoader.x = 120;
              setChildIndex(FlashLoader,0);
              trace(FlashLoader.parent.numChildren);
    //          System.gc();
    //          System.gc();
    //          try {
    //                    new LocalConnection  .connect('gc');
    //                    new LocalConnection  .connect('gc');
    //          } catch (e: * ) {
    //          trace(getMemory ());
    //trace(event.target.href);
    //trace(event.target.text);
    Upon clicking on the menu (and thus switching movies), I get the following error:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
              at Treeview_working_fla::MainTimeline/_mouseClickHandler2()
    And this doesn't make sense to me. The FlashLoader is given a placeholder swf at the beginning, so why would the FlashLoader inside the function be recognized as having a null object reference?
    Thanks in advance

    In my quest to tackle this problem, I've decided to try and isolate the problem, and have made a simple "click to load, click to unload" when I stumbled upon a curious problem. The movie loads fine, and the UNLOAD function upon mouseclick also works perfectly. However, upon clicking again to activate RELOAD, it gives the error "No active security context" and refuses to load the same exact swf with the same exact path that successfully loaded the first time!
    import flash.events.MouseEvent;
    import flash.display.Loader;
    import flash.net.URLRequest;
    var FlashLoader:Loader = new Loader();
    var flashUrl:URLRequest = new URLRequest("folder/subfolder/movie.swf");
    FlashLoader.x = 120;
    FlashLoader.load(flashUrl);
    stage.addChild(FlashLoader);
    stage.addEventListener(MouseEvent.CLICK, UNLOAD);
    function UNLOAD(event:MouseEvent) {
              flashUrl = null;
              stage.removeChild(FlashLoader);
              FlashLoader.unloadAndStop();
              stage.removeEventListener(MouseEvent.CLICK, UNLOAD);
              stage.addEventListener(MouseEvent.CLICK, RELOAD);
    function RELOAD(event:MouseEvent) {
              var FlashLoader:Loader = new Loader();
              var flashUrl:URLRequest = new URLRequest("folder/subfolder/movie.swf");
              FlashLoader.x = 120;
              FlashLoader.load(flashUrl);
              stage.addChild(FlashLoader);
              stage.removeEventListener(MouseEvent.CLICK, RELOAD);
              stage.addEventListener(MouseEvent.CLICK, UNLOAD);

  • How do I stop Firefox unloading background tabs?

    Hi there,
    Can anyone tell me how to stop firefox for android unloading tabs it thinks are in the background and not being used?
    Here's the situation - I had about 5 tabs open in firefox on my Galaxy Note (around 1GB memory) and no other applications open. 4 were from a forum site (few/no graphics, nothing fancy in the page layout, shouldn't have large RAM requirements). I was writing a long post, I opened the fifth tab and performed a google search, dipped into wikipedia to check something, then went back to my post. I went through each of the other tabs to get there as the thumbnails all looked the same. Each one had been unloaded from memory (zombified) and was reloaded fresh, losing all the stuff I had been writing and seemingly knocking the others out of memory. This meant that by the time I found the right tab again what I had been writing was lost.
    This behaviour is annoying, not just because you lose form data, but also for slow connections and metered connections it re-grabs the entire page, wasting time and data allowance. The entire point of background tabs (for me) is that the data is there waiting to be read, it is not just a bookmark.
    I understand why the developers did this, to save memory on android devices, but it's far too aggressive.
    Is there an about:config setting that allows me to stop this behaviour? Is there any way to stop firefox doing this?

    I have had this problem for quite some time through many versions of Firefox. It has also done this on the stock browser. Actually very irritating. I often at times will have multiple tabs open (About 3) and sometimes I will be writing something,, stop...then go to another tab to check something on Google or copy sone text...start to go to the other tab, it's still there but the entire page reloads and I lose the message/comment I was writing. I have made a habit of using the copy/paste function for fear of losing all of what I wrote..happened one too many times. And in the case of copying from another page, you just have to hope your text is still there......:/

  • Unable to load dynamic library oci8.so

    Hello All,
    When I try to start lampp, I am getting the below error.
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/oci8.so' - libclntsh.so.10.1: cannot open shared object file: No such file or directory in Unknown on line 0
    But I have  libclntsh.so.11.1 in my system. Why it is searching for libclntsh.so.10.1?

    Madhu.149 wrote:
    Hello All,
    When I try to start lampp, I am getting the below error.
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/oci8.so' - libclntsh.so.10.1: cannot open shared object file: No such file or directory in Unknown on line 0
    But I have  libclntsh.so.11.1 in my system. Why it is searching for libclntsh.so.10.1?
    Madhu.149 wrote:
    Hello All,
    When I try to start lampp, I am getting the below error.
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/oci8.so' - libclntsh.so.10.1: cannot open shared object file: No such file or directory in Unknown on line 0
    But I have  libclntsh.so.11.1 in my system. Why it is searching for libclntsh.so.10.1?
    >Why it is searching for libclntsh.so.10.1?
    old PHP software that does not know about V11
    So just create a softlink as below
    ln -s libclntsh.so.11.1 libclntsh.so.10.1

  • Loading and Unloading of swf files in SWF Loader

    Hi all,
    I have a doubt reg. SWF Loader.
    I have created two mxml files A & B.
    A. local.mxml
    B. SwfSample.mxml
    i have two labels and a button in A file and i have set values to those labels and have a method to handle the click event of the button. In B file i have loaded this A file and accessed the labels and methods using SystemManager Component and changed the values of the A file's label and accessed data from A file to B file.
    Here comes the problem,
    I have two buttons named LoadAgain and Unload
    When i click the Unload button, the SWF Loader unloads its content by the method i handled for  the Unload button, after that i have clicked on the LoadAgain button to load the same content of A's mxml to the SWF Loader, it loads succesfully,but i was not able to access its Label or Method from the B mxml. Please help me to solve the issue.
    local.mxml
    <?xml version="1.0" encoding="utf-8"?><mx:Application 
    xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute">
    <mx:Script>
        <![CDATA[
    Bindable]
        public var varOne:String = "This is a public variable";
        public function setVarOne(newText:String):void
              varOne = newText;
        ]]>
    </mx:Script>
    <mx:Label id="lblOne" text="I am here" x="28" y="88"/>
    <mx:Label text="{varOne}" x="166" y="88"/>
    <mx:Button label="Nested Button" click="setVarOne('Nested Button Pressed');" x="28" y="114"/>
    SwfSample.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application 
    xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute">
        <mx:Script>
        <![CDATA[
              import mx.controls.Alert;  
              import mx.managers.SystemManager;  
              import mx.controls.Label; 
    Bindable]
              public var loadedSM:SystemManager;
              private function initNestedAppProps():void
                  loadedSM = SystemManager(myLoader.content);
              public function updateLabel():void
                  lbl.text = loadedSM.application[
    "lblOne"].text;
              public function updateNestedLabels():void
                  loadedSM.application[
    "lblOne"].text = "I was just updated" ;
                  loadedSM.application[
    "varOne"] = "I was just updated";
              public function updateNestedVarOne():void
                   local(loadedSM.application).setVarOne(
    "Updated varOne");
              public function unload():void
                   myLoader.content.loaderInfo.loader.unload();
              public function loadAgain():void
                   myLoader.load(
    "../bin-debug/local.swf");
            ]]>
         </mx:Script>
    <mx:Label id="lbl" x="72" y="47"/>
    <mx:SWFLoader id="myLoader" width="438" source="../bin-debug/local.swf" creationComplete="initNestedAppProps();" y="73" height="238" x="72" alpha="1.0"/>
    <mx:Button label="Update Label Control in Outer Application" click="updateLabel();" x="72" y="319"/>
    <mx:Button label="Update Nested Controls" click="updateNestedLabels();" x="72" y="349"/>
    <mx:Button label="Update Nested varOne" click="updateNestedVarOne();" x="72" y="379"/>
    <mx:Button label="Unload" click="unload();" x="72" y="409"/>
    <mx:Button label="Load Again" click="loadAgain();" x="72" y="439"/>
    </mx:Application>
    Thanks & regards,
    Sathish.K

    creationComplete only fires once when the SWFLoader is created.  Therefore you never reset your variables to point to the new sub-app.  On a slow network, creationComplete may fire before the sub-app loads.  It is best to use the COMPLETE event.
    Alex Harui
    Flex SDK Developer
    Adobe Systems Inc.
    Blog: http://blogs.adobe.com/aharui

  • Profiling the loading and unloading of modules

    Modules appear to be the ideal solution for building complex rich internet applications but first hand experience has also shown me that they can leak memory like nothing else. I've read anything and everything I could find about modules and module loading/unloading including of Alex Harui's blog post "What We Know About Unloading Modules" that reveals a number of potential leak causes that should be considered.
    I've now created a simple soak test that repeatedly loads and unloads a specified module to help identify memory leaks using the profiler. However, even with the most basic of modules, I find that memory usage will steadily grow. What I'd like to know is what memory stuff is unavoidable flex overhead associated with the loading of modules and what memory stuff am I guilty for, for not cleaning up object references? I'd like to be able to establish some baseline values to which I will be able to compare future modules against.
    I've been following the approach suggested in the Adobe Flash Builder 4 Reference page "Identifying problem areas"
    "One approach to identifying a memory leak is to first find a discrete set of steps that you can do over and over again with your application, where memory usage continues to grow. It is important to do that set of steps at least once in your application before taking the initial memory snapshot so that any cached objects or other instances are included in that snapshot."
    Obviously my set of discrete steps is the loading and unloading of a module. I load and unload the module once before taking a memory snapshot. Then I run my test that loads and unloads the module a large number of times and then take another snapshot.
    After running my test on a very basic module for 200 cycles I make the following observations in the profiler:
    Live Objects:
    Class
    Package (Filtered)
    Cumulative Instances
    Instances
    Cumulative Memory
    Memory
    _basicModule_mx_core_FlexModuleFactory
    201 (1.77%)
    201 (85.17%)
    111756 (24.35%)
    111756 (95.35%)
    What ever that _basicModule_mx_core_FlexModuleFactory class is, it's 201 instances end up accounting for over 95% of the memory in "Live Objects".
    Loitering Objects:
    Class
    Package
    Instances
    Memory
    Class
    600 (9.08%)
    2743074 (85.23%)
    _basicModule_mx_core_FlexModuleFactory
    200 (3.03%)
    111200 (3.45%)
    However this data suggests that the _basicModule_mx_core_FlexModuleFactory class is the least of my worries, only accounting for 3.45% of the total memory in "Loitering Objects". Compare that to the Class class with it's 600 instances consuming over 85% of the memory. Exploring the Class class deeper appears to show them all to be the [newclass] internal player actions.
    Allocation Trace:
    Method
    Package (Filtered)
    Cumulative Instances
    Self Instances
    Cumulative Memory
    Self Memory
    [newclass]
    1200 (1.39%)
    1200 (14.82%)
    2762274 (13.64%)
    2762274 (62.76%)
    This appears to confirm the observations from the "Loitering Objects" table, but do I have any influence over the internal player actions?
    So this brings me back to my original question:
    What memory stuff is unavoidable flex overhead associated with the loading of modules and what memory stuff am I guilty for, for not cleaning up object references? If these are the results for such a basic module, what can I really expect for a much more complex module? How can I make better sense of the profile data?
    This is my basic module soak tester (sorry about the code dump but there's not that much code really):
    basicModule.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/halo"
               layout="absolute" width="400" height="300"
               backgroundColor="#0096FF" backgroundAlpha="0.2">
         <s:Label x="165" y="135" text="basicModule" fontSize="20" fontWeight="bold"/>
    </mx:Module>
    moduleSoakTester.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:s="library://ns.adobe.com/flex/spark"
                   xmlns:mx="library://ns.adobe.com/flex/halo"
                   width="400" height="300" backgroundColor="#D4D4D4"
                   initialize="application_initializeHandler(event)">
         <fx:Script>
              <![CDATA[
                   import mx.events.FlexEvent;
                   import mx.events.ModuleEvent;
                   [Bindable]
                   public var loadCount:int = -1;
                   [Bindable]
                   public var unloadCount:int = -1;
                   public var maxCycles:int = 200;
                   public var loadTimer:Timer = new Timer(500, 1);
                   public var unloadTimer:Timer = new Timer(500, 1);
                   protected function application_initializeHandler(event:FlexEvent):void
                        loadTimer.addEventListener(TimerEvent.TIMER_COMPLETE, loadTimer_timerCompleteHandler);
                        unloadTimer.addEventListener(TimerEvent.TIMER_COMPLETE, unloadTimer_timerCompleteHandler);
                   protected function loadModule():void
                        if(loadCount < maxCycles)
                             moduleLoader.url = [correctPath] + "/basicModule.swf";
                             moduleLoader.loadModule();
                             loadCount++;
                   protected function unloadModule():void
                        moduleLoader.unloadModule();
                        unloadCount++;
                   protected function load_clickHandler(event:MouseEvent):void
                        load.enabled = false;
                        loadModule();
                        unload.enabled = true;
                   protected function unload_clickHandler(event:MouseEvent):void
                        unload.enabled = false;
                        unloadModule();
                        run.enabled = true;
                   protected function run_clickHandler(event:MouseEvent):void
                        run.enabled = false;
                        moduleLoader.addEventListener(ModuleEvent.READY, moduleLoader_readyHandler);
                        moduleLoader.addEventListener(ModuleEvent.UNLOAD, moduleLoader_unloadHandler);
                        loadTimer.start();
                   protected function moduleLoader_readyHandler(event:ModuleEvent):void
                        unloadTimer.start();
                   protected function moduleLoader_unloadHandler(event:ModuleEvent):void
                        loadTimer.start();
                   protected function loadTimer_timerCompleteHandler(event:TimerEvent):void
                        loadModule();
                   protected function unloadTimer_timerCompleteHandler(event:TimerEvent):void
                        unloadModule();
              ]]>
         </fx:Script>
         <mx:ModuleLoader id="moduleLoader"/>
         <s:VGroup x="20" y="20">
              <s:HGroup>
                   <s:Button id="load" label="Load" click="load_clickHandler(event)" enabled="true"/>
                   <s:Button id="unload" label="Unload" click="unload_clickHandler(event)" enabled="false"/>
                   <s:Button id="run" label="Run" click="run_clickHandler(event)" enabled="false"/>
              </s:HGroup>
              <s:Label text="loaded: {loadCount.toString()}" fontSize="15"/>
              <s:Label text="unloaded: {unloadCount.toString()}" fontSize="15" x="484" y="472"/>
         </s:VGroup>
    </s:Application>
    Cheers,
    -Damon

    Easiest way I've found to get your SDK version from within Builder is to add this: <mx:Label text="{mx_internal::VERSION}" />
    http://blog.flexexamples.com/2008/10/29/determining-your-flex-sdk-version-number/
    Peter

  • Unable load  library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.11.1

    Dear all,
    I have a problem with OCI8 installation and I would appreciate if you could kindly guide me how to solve this issue.
    I started reading the following articles in order to learn how to install the OCI8 package allowing to connect from PHP to oracle
    http://www.php.net/manual/en/oci8.installation.php
    http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
    Here is my environment description
    OS: Fedora Core 17 (X86_64)
    Oracle version: Oracle Enterprise Edition 11gR2 (11.2.0.1.0) X86_64
    PHP Version: 5.4.13
    Apache version: 2.2.23Just a detail: almost every documentation starts by explaining the instant client installation. However, on the same physical machine, before even installing Apache and PHP. Oracle server had been completely installed, that is, both server and client (SQL*Plus, SQL*Loader, . . .). As a result, I omitted this step in the documentation and I continued by installation direcly OCI8 and apparently everything was compiled successfully (no error message).
    Problem: OCI8 doesn't show up in phpinfo()
    So it seems that there is a problem. I'm going to write down exactly how I proceeded and I would appreciate if you could kindly take a look at these steps and tell whether I made mistake(s)
    I started by running as ROOT. As I said the oracle server was already installed on the machine and so all the required environment variables such as LD_LIBRARY_PATH, ORACLE_SID, . . . were already defined in ~/.bash_profile
    And if you look at the below output, you can see that for example ORACLE_HOME was detected automatically during the installation (*checking Oracle ORACLE_HOME install directory... /u01/app/oracle/product/11.2.0/db_1*)
    # pecl install oci8This gave me the following output
    # pecl install oci8
    downloading oci8-1.4.9.tgz ...
    Starting to download oci8-1.4.9.tgz (169,255 bytes)
    .....................................done: 169,255 bytes
    10 source files, building
    running: phpize
    Configuring for:
    PHP Api Version:         20100412
    Zend Module Api No:      20100525
    Zend Extension Api No:   220100525
    Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] :
    building in /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9
    running: /var/tmp/oci8/configure --with-oci8
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for cc... cc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether cc accepts -g... yes
    checking for cc option to accept ISO C89... none needed
    checking how to run the C preprocessor... cc -E
    checking for icc... no
    checking for suncc... no
    checking whether cc understands -c and -o together... yes
    checking for system library directory... lib
    checking if compiler supports -R... no
    checking if compiler supports -Wl,-rpath,... yes
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking target system type... x86_64-unknown-linux-gnu
    checking for PHP prefix... /usr
    checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
    checking for PHP extension directory... /usr/lib64/php/modules
    checking for PHP installed headers prefix... /usr/include/php
    checking if debug is enabled... no
    checking if zts is enabled... no
    checking for re2c... no
    configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
    checking for gawk... gawk
    checking for Oracle Database OCI8 support... yes, shared
    checking PHP version... 5.4.13, ok
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking size of long int... 8
    checking checking if we're on a 64-bit platform... yes
    checking Oracle ORACLE_HOME install directory... /u01/app/oracle/product/11.2.0/db_1
    checking ORACLE_HOME library validity... lib
    checking Oracle library version compatibility... 11.1
    checking how to print strings... printf
    checking for a sed that does not truncate output... (cached) /usr/bin/sed
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by cc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking for gawk... (cached) gawk
    checking command to parse /usr/bin/nm -B output from cc object... ok
    checking for sysroot... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if cc supports -fno-rtti -fno-exceptions... no
    checking for cc option to produce PIC... -fPIC -DPIC
    checking if cc PIC flag -fPIC -DPIC works... yes
    checking if cc static flag -static works... no
    checking if cc supports -c -o file.o... yes
    checking if cc supports -c -o file.o... (cached) yes
    checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    configure: creating ./config.status
    config.status: creating config.h
    config.status: executing libtool commands
    running: make
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8.c -o oci8.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8.c  -fPIC -DPIC -o .libs/oci8.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8_lob.c -o oci8_lob.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_lob.c  -fPIC -DPIC -o .libs/oci8_lob.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8_statement.c -o oci8_statement.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_statement.c  -fPIC -DPIC -o .libs/oci8_statement.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8_collection.c -o oci8_collection.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_collection.c  -fPIC -DPIC -o .libs/oci8_collection.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8_interface.c -o oci8_interface.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_interface.c  -fPIC -DPIC -o .libs/oci8_interface.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=link cc -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -o oci8.la -export-dynamic -avoid-version -prefer-pic -module -rpath /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules  oci8.lo oci8_lob.lo oci8_statement.lo oci8_collection.lo oci8_interface.lo -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib -L/u01/app/oracle/product/11.2.0/db_1/lib -lclntsh
    libtool: link: cc -shared  -fPIC -DPIC  .libs/oci8.o .libs/oci8_lob.o .libs/oci8_statement.o .libs/oci8_collection.o .libs/oci8_interface.o   -L/u01/app/oracle/product/11.2.0/db_1/lib -lclntsh  -O2 -Wl,-rpath -Wl,/u01/app/oracle/product/11.2.0/db_1/lib   -Wl,-soname -Wl,oci8.so -o .libs/oci8.so
    libtool: link: ( cd ".libs" && rm -f "oci8.la" && ln -s "../oci8.la" "oci8.la" )
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=install cp ./oci8.la /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
    libtool: install: cp ./.libs/oci8.so /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules/oci8.so
    libtool: install: cp ./.libs/oci8.lai /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules/oci8.la
    libtool: finish: PATH="/usr/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/op
    t/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/sbin" ldconfig -n /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
    Libraries have been installed in:
       /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the `LD_RUN_PATH' environment variable
         during linking
       - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to `/etc/ld.so.conf'
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    Build complete.
    Don't forget to run 'make test'.
    running: make INSTALL_ROOT="/var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9" install
    Installing shared extensions:     /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules/
    running: find "/var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9" | xargs ls -dils
    3679979   4 drwxr-xr-x. 3 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9
    3680009   4 drwxr-xr-x. 3 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr
    3680010   4 drwxr-xr-x. 3 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64
    3680011   4 drwxr-xr-x. 3 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php
    3680012   4 drwxr-xr-x. 2 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules
    3680008 596 -rwxr-xr-x. 1 root root 606865 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules/oci8.so
    Build process completed successfully
    Installing '/usr/lib64/php/modules/oci8.so'
    install ok: channel://pecl.php.net/oci8-1.4.9
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=oci8.so" to php.ini
    # Once OCI8 was installed I updated the */etc/php.ini* accordingly by adding the following entries
    ; Dynamic Extensions ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ;   extension=modulename.extension
    extension=oci8.so
    ; Paths and Directories ;
    ; UNIX: "/path1:/path2"
    extension_dir="/usr/lib64/php/modules"Also I updated the */etc/sysconfig/httpd* in order to export the specified set of OS environment variables. So I added the following lines at the end of the file
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
    LD_LIBRARY_PATH64=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
    TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin
    NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
    ORACLE_SID=db01In order to check that these values are actually taken into account by Apache, I run
    # service httpd restartThen I run a PHP script with phpinfo() and in the section Environment the above values were present in particular the LD_LIBRARY_PATH variable.
    However, as I said, there is no OCI8 entry in phpinfo() output. I checked the apache log file and I saw that there is a problem
    # cat /var/log/httpd/error_log
    [Thu Apr 04 16:02:13 2013] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
    [Thu Apr 04 16:02:13 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
    [Thu Apr 04 16:02:13 2013] [notice] Digest: generating secret for digest authentication ...
    [Thu Apr 04 16:02:13 2013] [notice] Digest: done
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.11.1: cannot open shared object file: No such file or directory in Unknown on line 0
    [Thu Apr 04 16:02:13 2013] [warn] mod_wsgi: Compiled for Python/2.7.2.
    [Thu Apr 04 16:02:13 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
    [Thu Apr 04 16:02:13 2013] [notice] Apache/2.2.23 (Unix) DAV/2 PHP/5.4.13 mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
    #What I understand from the above log is that the shared library libclntsh.so.11.1 cannot be found. Yet I checked and I saw that it is present in LD_LIBRARY_PATH
    # locate libclntsh.so
    /u01/app/oracle/product/11.2.0/db_1/inventory/Scripts/ext/lib/libclntsh.so.11.1
    /u01/app/oracle/product/11.2.0/db_1/inventory/backup/2012-06-25_12-08-41PM/Scripts/ext/lib/libclntsh.so.11.1
    /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so
    /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.10.1
    /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1
    # So the last line, shows that the specified library exists in */u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1*.
    So I don't really seem what is the problem and the more strange thing is that in command line PHP seem to detect my oracle server parameters.
    $ php --ri oci8
    oci8
    OCI8 Support => enabled
    Version => 1.4.9
    Revision => $Id: e2241cffb72c940cb2ca267b7a6a0ce436de7e5e $
    Active Persistent Connections => 0
    Active Connections => 0
    Oracle Run-time Client Library Version => 11.2.0.1.0
    Oracle Version => 11.2
    Compile-time ORACLE_HOME => /u01/app/oracle/product/11.2.0/db_1
    Libraries Used => -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib -L/u01/app/oracle/product/11.2.0/db_1/lib  -lclntsh
    Temporary Lob support => enabled
    Collections support => enabled
    Directive => Local Value => Master Value
    oci8.max_persistent => -1 => -1
    oci8.persistent_timeout => -1 => -1
    oci8.ping_interval => 60 => 60
    oci8.privileged_connect => Off => Off
    oci8.statement_cache_size => 20 => 20
    oci8.default_prefetch => 100 => 100
    oci8.old_oci_close_semantics => Off => Off
    oci8.connection_class => no value => no value
    oci8.events => Off => Off
    $ I thought maybe there are several different php.ini and the one used within GUI is not the same used in CLI but a search showed that there is just one php.ini file
    # locate php.ini
    /etc/php.ini
    # php -i | grep Configuration
    Configuration File (php.ini) Path => /etc
    Loaded Configuration File => /etc/php.ini
    Configuration
    #It is almost 3 days that I'm googling without success to find the solution to this problem.
    So, could someone help me, what is the problem? Why the OCI8 module cannot be loaded by PHP and become visible in the phpinfo() output?
    Thanks in advance,
    Regards,
    Dariyoosh

    cj wrote:
    Try disabling SELinux. On Oracle Linux you would edit /etc/selinux/config, set SELINUX to DISABLED, and reboot. Also see the setenforce command.Yes !!!!!!!!
    Thanks man it worked !! It was SELinux which was blocking the library load. Now I have OCI8 entry in phpinfo(). At the same time as we saw before the PHP in command line could detect OCI8, maybe this means that SELinux doesn't have the same impact in CLI as in GUI. Conclusion, you were totally correct about defining the environment variables in /etc/syscnfig/httpd. The variables were actually defined (with a slight difference in syntax that I will show below), yet SELinux prevented PHP from loading the oracle libraray.
    I also wrote a test SQL script (SELECT employee_id FROM employees WHERE department_id = 100) and the result was printed on the screen perfectly.
    So for those who may have encountered the same problem with the same environment parameters I'm going to give a summary of how I proceeded in the case where it might be helpful for others.
    My environment
    OS: Linux Fedora Core 17 (X86_64)
    Oracle version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit
    Apache version (httpd): Apache 2.0
    PHP version: 5.4.13
    Before the installation
    Before the installation I disabled SELinux. At the time of writing I'm not an expert of SELinux so I don't know any rule modification in order to modify SELinux policy accordingly allowing to OCI8 module to load oracle libraries. As a result I finally disabled completely the SELinux on my system which may have serious security impacts! This can be done in the following way (being as root)
    # vim  /etc/selinux/configThe file content is something similar to the following
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=enforcing
    # SELINUXTYPE= can take one of these two values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected.
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted So what I did was that I put a comment at the beginning of the line SELINUX=enforcing and instead I added a new line right after that line which was SELINUX=disabled.
    Finally I rebooted the system.
    Installation:
    - Make sure that all oracle environment variables are defined in ~/.bash_profile of the user who installs OCI8. Otherwise you will have to enter manually the path to $ORACLE_HOME. I tested both ways and each method works pretty well. Yet I find the first one more elegant because it detects automatically everything
    - In my case, PHP, Apache and Oracle server were all on the same physical machine, therefore I didn't need to install the Oracle Instant client*. All the required oracle libraries for OCI8 were therefore already available.
    - being as ROOT, I run the following (I don't know whether this was mandatory but I prefered to stop httpd before installing OCI8)
    # pecl install oci8(On my machine pecl was already there, if not you can install it by using yum)
    - Once installation is over, at the end of the installation report in the terminal you will get something like this
    >
    Build process completed successfully
    Installing '/usr/lib64/php/modules/oci8.so'
    install ok: channel://pecl.php.net/oci8-1.4.9
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=oci8.so" to php.ini
    >
    The two bold lines above shows what you have to put in your php.ini file (on my computer this file is in */etc/php.ini* )
    So I updated the php.ini file in the following way:
    ; Dynamic Extensions ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ;   extension=modulename.extension
    extension=oci8.so
    ; Paths and Directories ;
    ; UNIX: "/path1:/path2"
    extension_dir="/usr/lib64/php/modules"Then you have to define the required oracle environment variables for Apache. According to what I read in http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html and in several forums while I was googling for this problem and also based on my own tests, it seems to me that depending on which Apache version you're using, the syntax for declaring the environment variables in */etc/sysconfig/httpd* is not the same.
    Here is what I added at the end of the file /etc/sysconfig/httpd
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
    TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin
    NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
    ORACLE_SID=db01I tried to use the export keyword before the variable names but it didn't work for me, yet I saw in other forums that there were people who apparently had used that syntax successfully. So again it is a matter of personal observation. For me using Apache 2.0, only the above syntax works. Also if I use $ in order to expand the environment variables it doesn't work
    so for example instead of writing
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/libI had to write explicitly the expanded values myself, that is,
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/libOnce this is done, restart httpd
    # service httpd startIf everything went well, normally you will see the OCI8 entry if you run phpinfo() in a test PHP script.
    Hope this may help others,
    Once again, thanks a lot to cj for his time and his valuable help for solving my problem.
    Regards,
    Dariyoosh

  • Trouble adding regular oracle oci8 support to RPM, CentOs 5

    Hello,
    It seems that i'm missing smth simple while trying to add oci8 support to RPM.
    I took Christopher Jones's SRPM for 5.2.3 as a base, but since i don't have and don't need a support for instant client i modified latest available 5.1.6 SRPM from CentOS 5 repo.
    The compile env is :
    HOSTNAME=server.home
    SHELL=/bin/bash
    TERM=vt100
    HISTSIZE=1000
    OLDPWD=/root
    USER=root
    LD_LIBRARY_PATH=/u01/app/oracle/product/10.2.0/db_1/lib
    LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
    TNS_ADMIN=/u01/app/oracle/product/10.2.0/db_1/network/admin
    MAIL=/var/spool/mail/root
    PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    INPUTRC=/etc/inputrc
    PWD=/usr/src/redhat/SPECS
    LANG=en_US.UTF-8
    SHLVL=1
    HOME=/root
    LOGNAME=root
    LESSOPEN=|/usr/bin/lesspipe.sh %s
    ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
    G_BROKEN_FILENAMES=1
    _=/bin/envi compile as a root. Here is my spec file.
    %define contentdir /var/www
    %define apiver 20041225
    %define zendver 20050922
    %define pdover 20060409
    # AZ
    # Version of Instant Client RPM. [email protected] May 2007
    %define ociver 10.2.0.3
    # For testing OCI8 and PDO_OCI.  Use the password of the SYSTEM schema
    # and the connection string for the target
    # database. [email protected] May 2007
    %define oci8_test_system_password tiger
    %define oci8_test_connection_string localhost/lhome
    # Set oci8_test_local_db to TRUE when the Oracle DB is on the machine
    # building the RPMS.  Otherwise set it to FALSE.
    # [email protected] May 2007
    %define oci8_test_local_db TRUE
    #AZ
    Summary: The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)
    Name: php
    Version: 5.1.6
    Release: 15%{?dist}
    License: The PHP License v3.01
    Group: Development/Languages
    URL: http://www.php.net/
    Source0: http://www.php.net/distributions/php-%{version}.tar.gz
    Source50: php.conf
    Source51: php.ini
    Patch1: php-5.1.4-gnusrc.patch
    Patch2: php-5.1.4-warnings.patch
    Patch5: php-4.3.3-install.patch
    Patch6: php-5.0.4-norpath.patch
    Patch7: php-4.3.2-libtool15.patch
    Patch13: php-5.0.2-phpize64.patch
    Patch14: php-5.1.6-ecalloc.patch
    # Fixes for extension modules
    Patch21: php-4.3.1-odbc.patch
    Patch22: php-4.3.11-shutdown.patch
    # Functional changes
    Patch30: php-5.0.4-dlopen.patch
    Patch31: php-5.0.0-easter.patch
    # Fixes for tests
    Patch50: php-5.0.4-tests-dashn.patch
    Patch51: php-5.0.4-tests-wddx.patch
    # Security fixes
    Patch70: php-4.3.9-CVE-2006-5465.patch
    Patch71: php-5.1.6-CVE-2007-0906-imap.patch
    Patch72: php-4.3.9-CVE-2007-0906-strreplace.patch
    Patch73: php-4.3.9-CVE-2007-0907.patch
    Patch74: php-4.3.9-CVE-2007-0908.patch
    Patch75: php-4.3.9-CVE-2007-0909-odbc.patch
    Patch76: php-4.3.9-CVE-2007-0909-printf.patch
    Patch77: php-5.1.6-CVE-2007-0910.patch
    Patch78: php-4.3.9-CVE-2007-0988.patch
    Patch79: php-5.1.6-CVE-2007-1285.patch
    Patch80: php-5.1.6-CVE-2007-1583.patch
    Patch81: php-5.1.6-CVE-2007-0455.patch
    Patch82: php-5.1.6-CVE-2007-1001.patch
    Patch83: php-5.1.6-CVE-2007-1718.patch
    Patch84: php-5.1.6-CVE-2007-1864.patch
    Patch85: php-5.1.6-soapredir.patch
    Patch86: php-5.1.6-ftpcrlf.patch
    Patch87: php-5.1.6-CVE-2007-2872.patch
    Patch88: php-5.1.6-CVE-2007-4658.patch
    Patch89: php-5.1.6-CVE-2007-2756.patch
    Patch90: php-5.1.6-CVE-2007-3799.patch
    Patch91: php-5.1.6-CVE-2007-3996.patch
    Patch92: php-5.1.6-CVE-2007-4670.patch
    Patch93: php-5.1.6-CVE-2007-3998.patch
    BuildRoot: %{_tmppath}/%{name}-root
    BuildRequires: bzip2-devel, curl-devel >= 7.9, db4-devel, expat-devel
    BuildRequires: gmp-devel, aspell-devel >= 0.50.0
    BuildRequires: httpd-devel >= 2.0.46-1, libjpeg-devel, libpng-devel, pam-devel
    BuildRequires: libstdc++-devel, openssl-devel, sqlite-devel >= 3.0.0
    BuildRequires: zlib-devel, pcre-devel >= 4.5, smtpdaemon
    BuildRequires: bzip2, fileutils, file >= 4.0, perl, libtool >= 1.4.3, gcc-c++
    Obsoletes: php-dbg, php3, phpfi, stronghold-php
    # Enforce Apache module ABI compatibility
    Requires: httpd-mmn = %(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)
    Requires: file >= 4.0
    Provides: mod_php = %{version}-%{release}
    Requires: php-common = %{version}-%{release}
    # For backwards-compatibility, require php-cli for the time being:
    Requires: php-cli = %{version}-%{release}
    %description
    PHP is an HTML-embedded scripting language. PHP attempts to make it
    easy for developers to write dynamically generated webpages. PHP also
    offers built-in database integration for several commercial and
    non-commercial database management systems, so writing a
    database-enabled webpage with PHP is fairly simple. The most common
    use of PHP coding is probably as a replacement for CGI scripts.
    The php package contains the module which adds support for the PHP
    language to Apache HTTP Server.
    %package cli
    Group: Development/Languages
    Summary: Command-line interface for PHP
    Requires: php-common = %{version}-%{release}
    Provides: php-cgi = %{version}-%{release}
    Provides: php-pcntl
    %description cli
    The php-cli package contains the command-line interface
    executing PHP scripts, /usr/bin/php, and the CGI interface.
    %package common
    Group: Development/Languages
    Summary: Common files for PHP
    Provides: php-api = %{apiver}, php-zend-abi = %{zendver}
    # Provides for all builtin modules:
    Provides: php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif
    Provides: php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-libxml
    Provides: php-mime_magic, php-openssl, php-pcre, php-posix, php-pspell
    Provides: php-reflection, php-session, php-shmop, php-simplexml, php-sockets
    Provides: php-spl, php-sysvsem, php-sysvshm, php-sysvmsg, php-tokenizer
    Provides: php-wddx, php-zlib
    #AZ
    Provides: php-oci
    #AZ
    Obsoletes: php-openssl
    %description common
    The php-common package contains files used by both the php
    package and the php-cli package.
    %package devel
    Group: Development/Libraries
    Summary: Files needed for building PHP extensions.
    Requires: php = %{version}-%{release}, autoconf, automake
    Obsoletes: php-pecl-pdo-devel
    %description devel
    The php-devel package contains the files needed for building PHP
    extensions. If you need to compile your own PHP extensions, you will
    need to install this package.
    %package imap
    Summary: A module for PHP applications that use IMAP.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Obsoletes: mod_php3-imap, stronghold-php-imap
    BuildRequires: krb5-devel, openssl-devel, libc-client-devel
    %description imap
    The php-imap package contains a dynamic shared object (DSO) for the
    Apache Web server. When compiled into Apache, the php-imap module will
    add IMAP (Internet Message Access Protocol) support to PHP. IMAP is a
    protocol for retrieving and uploading e-mail messages on mail
    servers. PHP is an HTML-embedded scripting language. If you need IMAP
    support for PHP applications, you will need to install this package
    and the php package.
    %package ldap
    Summary: A module for PHP applications that use LDAP.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Obsoletes: mod_php3-ldap, stronghold-php-ldap
    BuildRequires: cyrus-sasl-devel, openldap-devel, openssl-devel
    %description ldap
    The php-ldap package is a dynamic shared object (DSO) for the Apache
    Web server that adds Lightweight Directory Access Protocol (LDAP)
    support to PHP. LDAP is a set of protocols for accessing directory
    services over the Internet. PHP is an HTML-embedded scripting
    language. If you need LDAP support for PHP applications, you will
    need to install this package in addition to the php package.
    %package pdo
    Summary: A database access abstraction module for PHP applications
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Obsoletes: php-pecl-pdo-sqlite, php-pecl-pdo
    Provides: php-pdo-abi = %{pdover}
    %description pdo
    The php-pdo package contains a dynamic shared object that will add
    a database access abstraction layer to PHP.  This module provides
    a common interface for accessing MySQL, PostgreSQL or other
    databases.
    %package mysql
    Summary: A module for PHP applications that use MySQL databases.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, php-pdo
    Provides: php_database, php-mysqli
    Obsoletes: mod_php3-mysql, stronghold-php-mysql
    BuildRequires: mysql-devel >= 4.1.0
    %description mysql
    The php-mysql package contains a dynamic shared object that will add
    MySQL database support to PHP. MySQL is an object-relational database
    management system. PHP is an HTML-embeddable scripting language. If
    you need MySQL support for PHP applications, you will need to install
    this package and the php package.
    %package pgsql
    Summary: A PostgreSQL database module for PHP.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, php-pdo
    Provides: php_database
    Obsoletes: mod_php3-pgsql, stronghold-php-pgsql
    BuildRequires: krb5-devel, openssl-devel, postgresql-devel
    %description pgsql
    The php-pgsql package includes a dynamic shared object (DSO) that can
    be compiled in to the Apache Web server to add PostgreSQL database
    support to PHP. PostgreSQL is an object-relational database management
    system that supports almost all SQL constructs. PHP is an
    HTML-embedded scripting language. If you need back-end support for
    PostgreSQL, you should install this package in addition to the main
    php package.
    #AZ
    # Added oci8.  [email protected] May 2007
    %package oci8
    Summary: A module for PHP applications using the Oracle database
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, php-pdo
    #BuildRequires: oracle-instantclient-devel = %{ociver}
    Provides: php_database, php-oci
    AutoReqProv: No
    %description oci8
    The php-oci8 package contains a dynamic shared object (DSO) for the
    Apache Web server. When compiled into Apache, the php-oci8 module will
    add OCI8 support to PHP. OCI8 is an extension for Oracle Database
    access.  PHP is an HTML-embedded scripting language. If you need
    Oracle support for PHP applications, you can install this package and
    the php package.
    This package also contains PDO_OCI for use with the PDO extension.
    #AZ
    %package odbc
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, php-pdo
    Summary: A module for PHP applications that use ODBC databases.
    Provides: php_database
    Obsoletes: stronghold-php-odbc
    BuildRequires: unixODBC-devel
    %description odbc
    The php-odbc package contains a dynamic shared object that will add
    database support through ODBC to PHP. ODBC is an open specification
    which provides a consistent API for developers to use for accessing
    data sources (which are often, but not always, databases). PHP is an
    HTML-embeddable scripting language. If you need ODBC support for PHP
    applications, you will need to install this package and the php
    package.
    %package soap
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Summary: A module for PHP applications that use the SOAP protocol
    BuildRequires: libxml2-devel
    %description soap
    The php-soap package contains a dynamic shared object that will add
    support to PHP for using the SOAP web services protocol.
    %package snmp
    Summary: A module for PHP applications that query SNMP-managed devices.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, net-snmp
    BuildRequires: net-snmp-devel
    %description snmp
    The php-snmp package contains a dynamic shared object that will add
    support for querying SNMP devices to PHP.  PHP is an HTML-embeddable
    scripting language. If you need SNMP support for PHP applications, you
    will need to install this package and the php package.
    %package xml
    Summary: A module for PHP applications which use XML
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Obsoletes: php-domxml, php-dom
    Provides: php-dom, php-xsl, php-domxml
    BuildRequires: libxslt-devel >= 1.0.18-1, libxml2-devel >= 2.4.14-1
    %description xml
    The php-xml package contains dynamic shared objects which add support
    to PHP for manipulating XML documents using the DOM tree,
    and performing XSL transformations on XML documents.
    %package xmlrpc
    Summary: A module for PHP applications which use the XML-RPC protocol
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    BuildRequires: expat-devel
    %description xmlrpc
    The php-xmlrpc package contains a dynamic shared object that will add
    support for the XML-RPC protocol to PHP.
    %package mbstring
    Summary: A module for PHP applications which need multi-byte string handling
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    %description mbstring
    The php-mbstring package contains a dynamic shared object that will add
    support for multi-byte string handling to PHP.
    %package ncurses
    Summary: A module for PHP applications for using ncurses interfaces
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    BuildRequires: ncurses-devel
    %description ncurses
    The php-ncurses package contains a dynamic shared object that will add
    support for using the ncurses terminal output interfaces.
    %package gd
    Summary: A module for PHP applications for using the gd graphics library
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    BuildRequires: gd-devel, freetype-devel
    %description gd
    The php-gd package contains a dynamic shared object that will add
    support for using the gd graphics library to PHP.
    %package bcmath
    Summary: A module for PHP applications for using the bcmath library
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    %description bcmath
    The php-bcmath package contains a dynamic shared object that will add
    support for using the bcmath library to PHP.
    %package dba
    Summary: A database abstraction layer module for PHP applications
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    %description dba
    The php-dba package contains a dynamic shared object that will add
    support for using the DBA database abstraction layer to PHP.
    %prep
    %setup -q
    %patch1 -p1 -b .gnusrc
    %patch2 -p1 -b .warnings
    %patch5 -p1 -b .install
    %patch6 -p1 -b .norpath
    %patch7 -p1 -b .libtool15
    %patch13 -p1 -b .phpize64
    %patch14 -p1 -b .ecalloc
    %patch21 -p1 -b .odbc
    %patch22 -p1 -b .shutdown
    %patch30 -p1 -b .dlopen
    %patch31 -p1 -b .easter
    %patch50 -p1 -b .tests-dashn
    %patch51 -p1 -b .tests-wddx
    %patch70 -p1 -b .cve5465
    %patch71 -p1 -b .cve0906-imap
    %patch72 -p1 -b .cve0906-strreplace
    %patch73 -p1 -b .cve0907
    %patch74 -p1 -b .cve0908
    %patch75 -p1 -b .cve0909-odbc
    %patch76 -p1 -b .cve0909-printf
    %patch77 -p1 -b .cve0910
    %patch78 -p1 -b .cve0988
    %patch79 -p1 -b .cve1285
    %patch80 -p1 -b .cve1583
    %patch81 -p1 -b .cve0455
    %patch82 -p1 -b .cve1001
    %patch83 -p1 -b .cve1718
    %patch84 -p1 -b .cve1864
    %patch85 -p1 -b .soapredir
    %patch86 -p1 -b .ftpcrlf
    %patch87 -p1 -b .cve2872
    %patch88 -p1 -b .cve4658
    %patch89 -p1 -b .cve2756
    %patch90 -p1 -b .cve3799
    %patch91 -p1 -b .cve3996
    %patch92 -p1 -b .cve4670
    %patch93 -p1 -b .cve3998
    # Prevent %%doc confusion over LICENSE files
    cp Zend/LICENSE Zend/ZEND_LICENSE
    cp TSRM/LICENSE TSRM_LICENSE
    cp regex/COPYRIGHT regex_COPYRIGHT
    cp ext/gd/libgd/README gd_README
    # Source is built twice: once for /usr/bin/php, once for the Apache DSO.
    mkdir build-cgi build-apache
    # Remove bogus test; position of read position after fopen(, "a+")
    # is not defined by C standard, so don't presume anything.
    rm -f ext/standard/tests/file/bug21131.phpt
    # Tests that fail.
    rm -f ext/standard/tests/file/bug22414.phpt \
          ext/iconv/tests/bug16069.phpt
    #AZ
    # Tests that fail.
    rm -f ext/oci8/tests/bug27303.phpt \
            ext/oci8/tests/bug27303_2.phpt \
            ext/oci8/tests/bug27303_4.phpt
    # OCI8 config file. [email protected] May 2007
    cat <<EOF > ext/oci8/tests/details.inc
    <?php
    * Please, change user, password and dbase to match your configuration.
    \$user       = "scott";
    \$password   = "%{oci8_test_system_password}";
    \$dbase      = "%{oci8_test_connection_string}";
    /* Set this variable to TRUE if Oracle is installed @ localhost */
    \$oracle_on_localhost = %{oci8_test_local_db};
    ?>
    EOF
    #AZ
    # Safety check for API version change.
    vapi=`sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h`
    if test "x${vapi}" != "x%{apiver}"; then
       : Error: Upstream API version is now ${vapi}, expecting %{apiver}.
       : Update the apiver macro and rebuild.
       exit 1
    fi
    # Safety check for Zend API version change.
    vzend=`sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h`
    if test "x${vzend}" != "x%{zendver}"; then
       : Error: Upstream Zend module ABI version is now ${vzend}, expecting %{zendver}.
       : Update the zendver macro and rebuild.
       exit 1
    fi
    # Safety check for PDO ABI version change
    vpdo=`sed -n '/#define PDO_DRIVER_API/{s/.*[    ]//;p}' ext/pdo/php_pdo_driver.h`
    if test "x${vpdo}" != "x%{pdover}"; then
       : Error: Upstream PDO ABI version is now ${vpdo}, expecting %{pdover}.
       : Update the pdover macro and rebuild.
       exit 1
    fi
    %build
    # Force use of system libtool:
    libtoolize force copy
    cat `aclocal --print-ac-dir`/libtool.m4 > build/libtool.m4
    # Regenerate configure scripts (patches change config.m4's)
    ./buildconf --force
    CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign"
    CPPFLAGS="-DLDAP_DEPRECATED=1"
    export CFLAGS CPPFLAGS
    # Install extension modules in %{_libdir}/php/modules.
    EXTENSION_DIR=%{_libdir}/php/modules; export EXTENSION_DIR
    # Set PEAR_INSTALLDIR to ensure that the hard-coded include_path
    # includes the PEAR directory even though pear is packaged
    # separately.
    PEAR_INSTALLDIR=%{_datadir}/pear; export PEAR_INSTALLDIR
    # Shell function to configure and build a PHP tree.
    build() {
    # bison-1.875-2 seems to produce a broken parser; workaround.
    mkdir Zend && cp ../Zend/zend_{language,ini}_{parser,scanner}.[ch] Zend
    ln -sf ../configure
    %configure \
            --cache-file=../config.cache \
            --with-libdir=%{_lib} \
            --with-config-file-path=%{_sysconfdir} \
            --with-config-file-scan-dir=%{_sysconfdir}/php.d \
            --disable-debug \
            --with-pic \
            --disable-rpath \
            --without-pear \
            --with-bz2 \
            --with-curl \
            --with-exec-dir=%{_bindir} \
            --with-freetype-dir=%{_prefix} \
            --with-png-dir=%{_prefix} \
            --enable-gd-native-ttf \
            --without-gdbm \
            --with-gettext \
            --with-gmp \
            --with-iconv \
            --with-jpeg-dir=%{_prefix} \
            --with-openssl \
            --with-png \
            --with-pspell \
            --with-expat-dir=%{_prefix} \
            --with-pcre-regex=%{_prefix} \
            --with-zlib \
            --with-layout=GNU \
            --enable-exif \
            --enable-ftp \
            --enable-magic-quotes \
            --enable-sockets \
            enable-sysvsem enable-sysvshm --enable-sysvmsg \
            --enable-track-vars \
            --enable-trans-sid \
            --enable-yp \
            --enable-wddx \
            --with-kerberos \
            --enable-ucd-snmp-hack \
            --with-unixODBC=shared,%{_prefix} \
            --enable-memory-limit \
            --enable-shmop \
            --enable-calendar \
            --enable-dbx \
            --enable-dio \
            --with-mime-magic=%{_sysconfdir}/httpd/conf/magic \
            --without-sqlite \
            --with-libxml-dir=%{_prefix} \
            --with-oci8=$ORACLE_HOME \
            --with-apxs2=/usr/sbin/apxs \
            --with-xml \
            $*
    if test $? != 0; then
      tail -500 config.log
      : configure failed
      exit 1
    fi
    make %{?_smp_mflags}
    # Build /usr/bin/php-cgi with the CGI SAPI, and all the shared extensions
    pushd build-cgi
    build --enable-force-cgi-redirect \
          --enable-pcntl \
          with-imap=shared with-imap-ssl \
          enable-mbstring=shared enable-mbstr-enc-trans \
          --enable-mbregex \
          --with-ncurses=shared \
          --with-gd=shared \
          --enable-bcmath=shared \
          enable-dba=shared with-db4=%{_prefix} \
          --with-xmlrpc=shared \
          --with-ldap=shared \
          --with-mysql=shared,%{_prefix} \
          --with-mysqli=shared,%{_bindir}/mysql_config \
          --enable-dom=shared \
          --with-dom-xslt=%{_prefix} --with-dom-exslt=%{_prefix} \
          --with-pgsql=shared \
          --with-snmp=shared,%{_prefix} \
          --enable-soap=shared \
          --with-xsl=shared,%{_prefix} \
          enable-xmlreader=shared enable-xmlwriter=shared \
          --enable-fastcgi \
          --enable-pdo=shared \
          --with-pdo-odbc=shared,unixODBC,%{_prefix} \
          --with-pdo-mysql=shared,%{_prefix} \
          --with-pdo-pgsql=shared,%{_prefix} \
          --with-pdo-sqlite=shared,%{_prefix} \
    #      --with-pdo-oci=shared,$ORACLE_HOME \
          --with-oci8 \
           --enable-sigchild
    popd
    # Build Apache module, and the CLI SAPI, /usr/bin/php
    pushd build-apache
    build --with-apxs2=%{_sbindir}/apxs \
          without-mysql without-gd \
          without-odbc disable-dom \
          disable-dba without-unixODBC \
          disable-pdo disable-xmlreader --disable-xmlwriter
    popd
    %check
    cd build-apache
    # Run tests, using the CLI SAPI
    export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
    unset TZ LANG LC_ALL
    #AZ
    # Allows PDO_OCI tests to connect.  [email protected] May 2007
    #export PDO_OCI_TEST_DSN=oci:dbname=%{oci8_test_connection_string}
    #export PDO_OCI_TEST_USER=scott
    #export PDO_OCI_TEST_PASS=%{oci8_test_system_password}
    #AZ
    if ! make test; then
      set +x
      for f in `find .. -name \*.diff -type f -print`; do
        echo "TEST FAILURE: $f --"
        cat "$f"
        echo "-- $f result ends."
      done
      set -x
      #exit 1
    fi
    unset NO_INTERACTION REPORT_EXIT_STATUS MALLOC_CHECK_
    %install
    [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
    # Install everything from the CGI SAPI build
    pushd build-cgi
    make install INSTALL_ROOT=$RPM_BUILD_ROOT
    mv $RPM_BUILD_ROOT%{_bindir}/php $RPM_BUILD_ROOT%{_bindir}/php-cgi
    # Install the CLI SAPI as /usr/bin/php
    make install-cli INSTALL_ROOT=$RPM_BUILD_ROOT
    popd
    # Install the Apache module
    pushd build-apache
    make install-sapi INSTALL_ROOT=$RPM_BUILD_ROOT
    popd
    # Install the default configuration file and icons
    install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/
    install -m 644 $RPM_SOURCE_DIR/php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
    install -m 755 -d $RPM_BUILD_ROOT%{contentdir}/icons
    install -m 644    *.gif $RPM_BUILD_ROOT%{contentdir}/icons/
    # For PEAR packaging:
    install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/php/pear
    # Use correct libdir
    sed -i -e 's|%{_prefix}/lib|%{_libdir}|' $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
    # install the DSO
    install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/httpd/modules
    install -m 755 build-apache/libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules
    # Apache config fragment
    install -m 755 -d $RPM_BUILD_ROOT/etc/httpd/conf.d
    install -m 644 $RPM_SOURCE_DIR/php.conf $RPM_BUILD_ROOT/etc/httpd/conf.d
    install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d
    install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php
    install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session
    # Generate files lists and stub .ini files for each subpackage
    #AZ
    for mod in oci8 pgsql mysql mysqli odbc ldap snmp xmlrpc imap \
        mbstring ncurses gd dom xsl soap bcmath dba xmlreader xmlwriter \
        pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite; do
    #AZ
        cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${mod}.ini <<EOF
    ; Enable ${mod} extension module
    extension=${mod}.so
    EOF
        cat > files.${mod} <<EOF
    %attr(755,root,root) %{_libdir}/php/modules/${mod}.so
    %config(noreplace) %attr(644,root,root) %{_sysconfdir}/php.d/${mod}.ini
    EOF
    done
    # The dom, xsl and xml* modules are all packaged in php-xml
    cat files.dom files.xsl files.xml{reader,writer} > files.xml
    # The mysql and mysqli modules are both packaged in php-mysql
    cat files.mysqli >> files.mysql
    # Split out the PDO modules
    #AZ
    cat files.pdo_oci >> files.oci8
    #AZ
    cat files.pdo_mysql >> files.mysql
    cat files.pdo_pgsql >> files.pgsql
    cat files.pdo_odbc >> files.odbc
    # Package pdo_sqlite with pdo; isolating the sqlite dependency
    # isn't useful at this time since rpm itself requires sqlite.
    cat files.pdo_sqlite >> files.pdo
    # Remove unpackaged files
    rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \
           $RPM_BUILD_ROOT%{_bindir}/{phptar} \
           $RPM_BUILD_ROOT%{_datadir}/pear
    # Remove irrelevant docs
    rm -f README.{Zeus,QNX,CVS-RULES}
    %clean
    [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
    rm files.*
    %files
    %defattr(-,root,root)
    %{_libdir}/httpd/modules/libphp5.so
    %attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session
    %config %{_sysconfdir}/httpd/conf.d/php.conf
    %{contentdir}/icons/php.gif
    %files common
    %defattr(-,root,root)
    %doc CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README*
    %doc Zend/ZEND_* gd_README TSRM_LICENSE regex_COPYRIGHT
    %config %{_sysconfdir}/php.ini
    %dir %{_sysconfdir}/php.d
    %dir %{_libdir}/php
    %dir %{_libdir}/php/modules
    %dir %{_localstatedir}/lib/php
    %dir %{_libdir}/php/pear
    %files cli
    %defattr(-,root,root)
    %{_bindir}/php
    %{_bindir}/php-cgi
    %{_mandir}/man1/php.1*
    %files devel
    %defattr(-,root,root)
    %{_bindir}/php-config
    %{_bindir}/phpize
    %{_includedir}/php
    %{_libdir}/php/build
    %{_mandir}/man1/php-config.1*
    %{_mandir}/man1/phpize.1*
    %files pgsql -f files.pgsql
    %files mysql -f files.mysql
    %files odbc -f files.odbc
    %files imap -f files.imap
    %files ldap -f files.ldap
    %files snmp -f files.snmp
    %files xml -f files.xml
    %files xmlrpc -f files.xmlrpc
    %files mbstring -f files.mbstring
    %files ncurses -f files.ncurses
    %files gd -f files.gd
    %files soap -f files.soap
    %files bcmath -f files.bcmath
    %files dba -f files.dba
    %files pdo -f files.pdo
    #AZ
    %files oci8 -f files.oci8
    #AZ
    %changelog
    * Wed Sep 12 2007 Joe Orton <[email protected]> 5.1.6-15.el5
    - improve fix for CVE-2007-3997 (#278411)
    * Fri Sep  7 2007 Joe Orton <[email protected]> 5.1.6-14.el5
    - fix backport for CVE-2007-3996 (#278411)
    * Thu Sep  6 2007 Joe Orton <[email protected]> 5.1.6-13.el5
    - add security fixes for CVE-2007-2756, CVE-2007-2872,
      CVE-2007-3799, CVE-2007-3996, CVE-2007-3998, CVE-2007-4658,
      CVE-2007-4670 (#278411)
    * Wed Apr  4 2007 Joe Orton <[email protected]> 5.1.6-12.el5
    - add security fix for CVE-2007-1864, SOAP redirect handling issue,
      FTP CRLF injection issue (#235016)
    * Wed Apr  4 2007 Joe Orton <[email protected]> 5.1.6-11.el5
    - add security fix for CVE-2007-1718 (#235016)
    * Tue Apr  3 2007 Joe Orton <[email protected]> 5.1.6-9.el5
    - add security fix for CVE-2007-1583 (#235016)
    - add security fixes for CVE-2007-0455, CVE-2007-1001 (#235036)
    * Fri Mar  9 2007 Joe Orton <[email protected]> 5.1.6-7.el5
    - add security fix for CVE-2007-1285 (#231597)
    * Fri Feb 16 2007 Joe Orton <[email protected]> 5.1.6-6.el5
    - add security fixes for: CVE-2007-0906, CVE-2007-0907,
      CVE-2007-0908, CVE-2007-0909, CVE-2007-0910, CVE-2007-0988 (#229013)
    * Tue Dec 19 2006 Joe Orton <[email protected]> 5.1.6-5.el5
    - fix version for php-zend-abi (#218758)
    * Thu Nov 23 2006 Joe Orton <[email protected]> 5.1.6-4.el5
    - php-xml provides php-domxml (#215656)
    - fix php-pdo-abi provide (#214281)
    - provide php-zend-abi (#212804)
    - don't Obsolete mod_php
    - fix PDO sqlite TEXT extraction truncate-by-one (#217033)
    - package php{ize,-config} man pages in -devel (#199382)
    - change module subpackages to require php-common not php (#177821)
    - add security fix for CVE-2006-5465 (#216114)
    * Wed Oct  4 2006 Joe Orton <[email protected]> 5.1.6-3
    - from upstream: add safety checks against integer overflow in _ecalloc
    * Tue Aug 29 2006 Joe Orton <[email protected]> 5.1.6-2
    - update to 5.1.6 (security fixes)
    - bump default memory_limit to 16M (#196802)
    * Wed Jul 12 2006 Jesse Keating <[email protected]> - 5.1.4-8.1
    - rebuild
    * Fri Jun  9 2006 Joe Orton <[email protected]> 5.1.4-8
    - Provide php-posix (#194583)
    - only provide php-pcntl from -cli subpackage
    - add missing defattr's (thanks to Matthias Saou)
    * Fri Jun  9 2006 Joe Orton <[email protected]> 5.1.4-7
    - move Obsoletes for php-openssl to -common (#194501)
    - Provide: php-cgi from -cli subpackage
    * Fri Jun  2 2006 Joe Orton <[email protected]> 5.1.4-6
    - split out php-cli, php-common subpackages (#177821)
    - add php-pdo-abi version export (#193202)
    * Wed May 24 2006 Radek Vokal <[email protected]> 5.1.4-5.1
    - rebuilt for new libnetsnmp
    * Thu May 18 2006 Joe Orton <[email protected]> 5.1.4-5
    - provide mod_php (#187891)
    - provide php-cli (#192196)
    - use correct LDAP fix (#181518)
    - define GNUSOURCE in php_config.h and leave it defined
    - drop (circular) dependency on php-pear
    * Mon May  8 2006 Joe Orton <[email protected]> 5.1.4-3
    - update to 5.1.4
    * Wed May  3 2006 Joe Orton <[email protected]> 5.1.3-3
    - update to 5.1.3
    * Tue Feb 28 2006 Joe Orton <[email protected]> 5.1.2-5
    - provide php-api (#183227)
    - add provides for all builtin modules (Tim Jackson, #173804)
    - own %%{_libdir}/php/pear for PEAR packages (per #176733)
    - add obsoletes to allow upgrade from FE4 PDO packages (#181863)
    * Fri Feb 10 2006 Jesse Keating <[email protected]> - 5.1.2-4.3
    - bump again for double-long bug on ppc(64)
    * Tue Feb 07 2006 Jesse Keating <[email protected]> - 5.1.2-4.1
    - rebuilt for new gcc4.1 snapshot and glibc changes
    * Tue Jan 31 2006 Joe Orton <[email protected]> 5.1.2-4
    - rebuild for new libc-client soname
    * Mon Jan 16 2006 Joe Orton <[email protected]> 5.1.2-3
    - only build xmlreader and xmlwriter shared (#177810)
    * Fri Jan 13 2006 Joe Orton <[email protected]> 5.1.2-2
    - update to 5.1.2
    * Thu Jan  5 2006 Joe Orton <[email protected]> 5.1.1-8
    - rebuild again
    * Mon Jan  2 2006 Joe Orton <[email protected]> 5.1.1-7
    - rebuild for new net-snmp
    * Mon Dec 12 2005 Joe Orton <[email protected]> 5.1.1-6
    - enable short_open_tag in default php.ini again (#175381)
    * Fri Dec 09 2005 Jesse Keating <[email protected]>
    - rebuilt
    * Thu Dec  8 2005 Joe Orton <[email protected]> 5.1.1-5
    - require net-snmp for php-snmp (#174800)
    * Sun Dec  4 2005 Joe Orton <[email protected]> 5.1.1-4
    - add /usr/share/pear back to hard-coded include_path (#174885)
    * Fri Dec  2 2005 Joe Orton <[email protected]> 5.1.1-3
    - rebuild for httpd 2.2
    * Mon Nov 28 2005 Joe Orton <[email protected]> 5.1.1-2
    - update to 5.1.1
    - remove pear subpackage
    - enable pdo extensions (php-pdo subpackage)
    - remove non-standard conditional module builds
    - enable xmlreader extension
    * Thu Nov 10 2005 Tomas Mraz <[email protected]> 5.0.5-6
    - rebuilt against new openssl
    * Mon Nov  7 2005 Joe Orton <[email protected]> 5.0.5-5
    - pear: update to XML_RPC 1.4.4, XML_Parser 1.2.7, Mail 1.1.9 (#172528)
    * Tue Nov  1 2005 Joe Orton <[email protected]> 5.0.5-4
    - rebuild for new libnetsnmp
    * Wed Sep 14 2005 Joe Orton <[email protected]> 5.0.5-3
    - update to 5.0.5
    - add fix for upstream #34435
    - devel: require autoconf, automake (#159283)
    - pear: update to HTTP-1.3.6, Mail-1.1.8, Net_SMTP-1.2.7, XML_RPC-1.4.1
    - fix imagettftext et al (upstream, #161001)
    * Thu Jun 16 2005 Joe Orton <[email protected]> 5.0.4-11
    - ldap: restore ldap_start_tls() function
    * Fri May  6 2005 Joe Orton <[email protected]> 5.0.4-10
    - disable RPATHs in shared extensions (#156974)
    * Tue May  3 2005 Joe Orton <[email protected]> 5.0.4-9
    - build simplexml_import_dom even with shared dom (#156434)
    - prevent truncation of copied files to ~2Mb (#155916)
    - install /usr/bin/php from CLI build alongside CGI
    - enable sysvmsg extension (#142988)
    * Mon Apr 25 2005 Joe Orton <[email protected]> 5.0.4-8
    - prevent build of builtin dba as well as shared extension
    * Wed Apr 13 2005 Joe Orton <[email protected]> 5.0.4-7
    - split out dba and bcmath extensions into subpackages
    - BuildRequire gcc-c++ to avoid AC_PROG_CXX{,CPP} failure (#155221)
    - pear: update to DB-1.7.6
    - enable FastCGI support in /usr/bin/php-cgi (#149596)
    * Wed Apr 13 2005 Joe Orton <[email protected]> 5.0.4-6
    - build /usr/bin/php with the CLI SAPI, and add /usr/bin/php-cgi,
      built with the CGI SAPI (thanks to Edward Rudd, #137704)
    - add php(1) man page for CLI
    - fix more test cases to use -n when invoking php
    * Wed Apr 13 2005 Joe Orton <[email protected]> 5.0.4-5
    - rebuild for new libpq soname
    * Tue Apr 12 2005 Joe Orton <[email protected]> 5.0.4-4
    - bundle from PEAR: HTTP, Mail, XML_Parser, Net_Socket, Net_SMTP
    - snmp: disable MSHUTDOWN function to prevent error_log noise (#153988)
    - mysqli: add fix for crash on x86_64 (Georg Richter, upstream #32282)
    * Mon Apr 11 2005 Joe Orton <[email protected]> 5.0.4-3
    - build shared objects as PIC (#154195)
    * Mon Apr  4 2005 Joe Orton <[email protected]> 5.0.4-2
    - fix PEAR installation and bundle PEAR DB-1.7.5 package
    * Fri Apr  1 2005 Joe Orton <[email protected]> 5.0.4-1
    - update to 5.0.4 (#153068)
    - add .phps AddType to php.conf (#152973)
    - better gcc4 fix for libxmlrpc
    * Wed Mar 30 2005 Joe Orton <[email protected]> 5.0.3-5
    - BuildRequire mysql-devel >= 4.1
    - don't mark php.ini as noreplace to make upgrades work (#152171)
    - fix subpackage descriptions (#152628)
    - fix memset(,,0) in Zend (thanks to Dave Jones)
    - fix various compiler warnings in Zend
    * Thu Mar 24 2005 Joe Orton <[email protected]> 5.0.3-4
    - package mysqli extension in php-mysql
    - really enable pcntl (#142903)
    - don't build with --enable-safe-mode (#148969)
    - use "Instant Client" libraries for oci8 module (Kai Bolay, #149873)
    * Fri Feb 18 2005 Joe Orton <[email protected]> 5.0.3-3
    - fix build with GCC 4
    * Wed Feb  9 2005 Joe Orton <[email protected]> 5.0.3-2
    - install the ext/gd headers (#145891)
    - enable pcntl extension in /usr/bin/php (#142903)
    - add libmbfl array arithmetic fix ([email protected], #143795)
    - add BuildRequire for recent pcre-devel (#147448)
    * Wed Jan 12 2005 Joe Orton <[email protected]> 5.0.3-1
    - update to 5.0.3 (thanks to Robert Scheck et al, #143101)
    - enable xsl extension (#142174)
    - package both the xsl and dom extensions in php-xml
    - enable soap extension, shared (php-soap package) (#142901)
    - add patches from upstream 5.0 branch:
    * Zend_strtod.c compile fixes
    * correct php_sprintf return value usage
    * Mon Nov 22 2004 Joe Orton <[email protected]> 5.0.2-8
    - update for db4-4.3 (Robert Scheck, #140167)
    - build against mysql-devel
    - run tests in %%check
    * Wed Nov 10 2004 Joe Orton <[email protected]> 5.0.2-7
    - truncate changelog at 4.3.1-1
    - merge from 4.3.x package:
    - enable mime_magic extension and Require: file (#130276)
    * Mon Nov  8 2004 Joe Orton <[email protected]> 5.0.2-6
    - fix dom/sqlite enable/without confusion
    * Mon Nov  8 2004 Joe Orton <[email protected]> 5.0.2-5
    - fix phpize installation for lib64 platforms
    - add fix for segfault in variable parsing introduced in 5.0.2
    * Mon Nov  8 2004 Joe Orton <[email protected]> 5.0.2-4
    - update to 5.0.2 (#127980)
    - build against mysqlclient10-devel
    - use new RTLD_DEEPBIND to load extension modules
    - drop explicit requirement for elfutils-devel
    - use AddHandler in default conf.d/php.conf (#135664)
    - "fix" round() fudging for recent gcc on x86
    - disable sqlite pending audit of warnings and subpackage split
    * Fri Sep 17 2004 Joe Orton <[email protected]> 5.0.1-4
    - don't build dom extension into 2.0 SAPI
    * Fri Sep 17 2004 Joe Orton <[email protected]> 5.0.1-3
    - ExclusiveArch: x86 ppc x86_64 for the moment
    * Fri Sep 17 2004 Joe Orton <[email protected]> 5.0.1-2
    - fix default extension_dir and conf.d/php.conf
    * Thu Sep  9 2004 Joe Orton <[email protected]> 5.0.1-1
    - update to 5.0.1
    - only build shared modules once
    - put dom extension in php-dom subpackage again
    - move extension modules into %%{_libdir}/php/modules
    - don't use --with-regex=system, it's ignored for the apache* SAPIs
    * Wed Aug 11 2004 Tom Callaway <[email protected]>
    - Merge in some spec file changes from Jeff Stern ([email protected])
    * Mon Aug 09 2004 Tom Callaway <[email protected]>
    - bump to 5.0.0
    - add patch to prevent clobbering struct re_registers from regex.h
    - remove domxml references, replaced with dom now built-in
    - fix php.ini to refer to php5 not php4
    * Wed Aug 04 2004 Florian La Roche <[email protected]>
    - rebuild
    * Wed Jul 14 2004 Joe Orton <[email protected]> 4.3.8-3
    - update to 4.3.8
    - catch some fd > FD_SETSIZE vs select() issues (#125258)
    * Mon Jun 21 2004 Joe Orton <[email protected]> 4.3.7-4
    - pick up test failures again
    - have -devel require php of same release
    * Thu Jun 17 2004 Joe Orton <[email protected]> 4.3.7-3
    - add gmp_powm fix (Oskari Saarenmaa, #124318)
    - split mbstring, ncurses, gd, openssl extns into subpackages
    - fix memory leak in apache2handler; use ap_r{write,flush}
      rather than brigade interfaces
    * Tue Jun 15 2004 Elliot Lee <[email protected]>
    - rebuilt
    * Thu Jun  3 2004 Joe Orton <[email protected]> 4.3.7-1
    - update to 4.3.7
    - have -pear subpackage require php of same VR
    * Wed May 26 2004 Joe Orton <[email protected]> 4.3.6-6
    - buildrequire smtpdaemon (#124430)
    - try switching to system libgd again (prevent symbol conflicts
      when e.g. mod_perl loads the system libgd library.)
    * Wed May 19 2004 Joe Orton <[email protected]> 4.3.6-5
    - don't obsolete php-imap (#123580)
    - unconditionally build -imap subpackage
    * Thu May 13 2004 Joe Orton <[email protected]> 4.3.6-4
    - remove trigger
    * Thu Apr 22 2004 Joe Orton <[email protected]> 4.3.6-3
    - fix umask reset "feature" (#121454)
    - don't use DL_GLOBAL when dlopen'ing extension modules
    * Sun Apr 18 2004 Joe Orton <[email protected]> 4.3.6-2
    - fix segfault on httpd SIGHUP (upstream #27810)
    * Fri Apr 16 2004 Joe Orton <[email protected]> 4.3.6-1
    - update to 4.3.6 (Robert Scheck, #121011)
    * Wed Apr  7 2004 Joe Orton <[email protected]> 4.3.4-11
    - add back imap subpackage, using libc-client (#115535)
    * Tue Mar 02 2004 Elliot Lee <[email protected]>
    - rebuilt
    * Wed Feb 18 2004 Joe Orton <[email protected]> 4.3.4-10
    - eliminate /usr/local/lib RPATH in odbc.so
    - really use system pcre library
    * Fri Feb 13 2004 Elliot Lee <[email protected]> 4.3.4-9
    - rebuilt
    * Mon Feb  2 2004 Bill Nottingham <[email protected]> 4.3.4-8
    - obsolete php-imap if we're not building it
    * Wed Jan 28 2004 Joe Orton <[email protected]> 4.3.4-7
    - gd fix for build with recent Freetype2 (from upstream)
    - remove easter egg (Oden Eriksson, Mandrake)
    * Wed Jan 21 2004 Joe Orton <[email protected]> 4.3.4-6
    - php-pear requires php
    - also remove extension=imap from php.ini in upgrade trigger
    - merge from Taroon: allow upgrade from Stronghold 4.0
    * Wed Jan 21 2004 Joe Orton <[email protected]> 4.3.4-5
    - add defattr for php-pear subpackage
    - restore defaults: output_buffering=Off, register_argc_argv=On
    - add trigger to handle php.ini upgrades smoothly (#112470)
    * Tue Jan 13 2004 Joe Orton <[email protected]> 4.3.4-4
    - conditionalize support for imap extension for the time being
    - switch /etc/php.ini to use php.ini-recommended (but leave
      variables_order as EGPCS) (#97765)
    - set session.path to /var/lib/php/session by default (#89975)
    - own /var/lib/php{,/session} and have apache own the latter
    - split off php-pear subpackage (#83771)
    * Sat Dec 13 2003 Jeff Johnson <[email protected]> 4.3.4-3
    - rebuild against db-4.2.52.
    * Mon Dec  1 2003 Joe Orton <[email protected]> 4.3.4-2
    - rebuild for new libxslt (#110658)
    - use --with-{mssql,oci8} for enabling extensions (#110482)
    - fix rebuild issues (Jan Visser, #110274)
    - remove hard-coded LIBS
    - conditional support for mhash (Aleksander Adamowski, #111251)
    * Mon Nov 10 2003 Joe Orton <[email protected]> 4.3.4-1.1
    - rebuild for FC1 updates
    * Mon Nov 10 2003 Joe Orton <[email protected]> 4.3.4-1
    - update to 4.3.4
    - include all licence files
    - libxmlrpc fixes
    * Mon Oct 20 2003 Joe Orton <[email protected]> 4.3.3-6
    - use bundled libgd (#107407)
    - remove manual: up-to-date manual sources are no longer DFSG-free;
      it's too big; it's on the web anyway; #91292, #105804, #107384
    * Wed Oct 15 2003 Joe Orton <[email protected]> 4.3.3-5
    - add php-xmlrpc subpackage (#107138)
    * Mon Oct 13 2003 Joe Orton <[email protected]> 4.3.3-4
    - drop recode support, symbols collide with MySQL
    * Sun Oct 12 2003 Joe Orton <[email protected]> 4.3.3-3
    - split domxml extension into php-domxml subpackage
    - enable xslt and xml support in domxml extension (#106042)
    - fix httpd-devel build requirement (#104341)
    - enable recode extension (#106755)
    - add workaround for #103982
    * Thu Sep 25 2003 Jeff Johnson <[email protected]> 4.3.3-3
    - rebuild against db-4.2.42.
    * Sun Sep  7 2003 Joe Orton <[email protected]> 4.3.3-2
    - don't use --enable-versioning, it depends on libtool being
    broken (#103690)
    * Sun Sep  7 2003 Joe Orton <[email protected]> 4.3.3-1
    - update to 4.3.3
    - add libtool build prereq (#103388)
    - switch to apache2handler
    * Mon Jul 28 2003 Joe Orton <[email protected]> 4.3.2-8
    - rebuild
    * Tue Jul 22 2003 Nalin Dahyabhai <[email protected]> 4.3.2-7
    - rebuild
    * Tue Jul  8 2003 Joe Orton <[email protected]> 4.3.2-6
    - use system pcre library
    * Mon Jun  9 2003 Joe Orton <[email protected]> 4.3.2-5
    - enable mbstring and mbregex (#81336)
    - fix use of libtool 1.5
    * Wed Jun 04 2003 Elliot Lee <[email protected]>
    - rebuilt
    * Tue Jun  3 2003 Joe Orton <[email protected]> 4.3.2-3
    - add lib64 and domxml fixes
    * Tue Jun  3 2003 Frank Dauer <[email protected]>
    - added conditional support for mssql module (#92149)
    * Fri May 30 2003 Joe Orton <[email protected]> 4.3.2-2
    - update the -tests and -lib64 patches
    - fixes for db4 detection
    - require aspell-devel >= 0.50.0 for pspell compatibility
    * Thu May 29 2003 Joe Orton <[email protected]> 4.3.2-1
    - update to 4.3.2
    * Fri May 16 2003 Joe Orton <[email protected]> 4.3.1-3
    - link odbc module correctly
    - patch so that php -n doesn't scan inidir
    - run tests using php -n, avoid loading system modules
    * Wed May 14 2003 Joe Orton <[email protected]> 4.3.1-2
    - workaround broken parser produced by bison-1.875
    * Tue May  6 2003 Joe Orton <[email protected]> 4.3.1-1
    - update to 4.3.1; run test suite
    - open extension modules with RTLD_NOW rather than _LAZYThe error is :
    Build complete.
    (It is safe to ignore warnings about tempnam and tmpnam).
    + with-oci8 enable-sigchild
    /var/tmp/rpm-tmp.3167: line 156: --with-oci8: command not found
    error: Bad exit status from /var/tmp/rpm-tmp.3167 (%build)
    RPM build errors:
        Bad exit status from /var/tmp/rpm-tmp.3167 (%build)If i modify spec like this :
    # Build /usr/bin/php-cgi with the CGI SAPI, and all the shared extensions
    pushd build-cgi
    build --enable-force-cgi-redirect \
          --enable-pcntl \
          with-imap=shared with-imap-ssl \
          enable-mbstring=shared enable-mbstr-enc-trans \
          --enable-mbregex \
          --with-ncurses=shared \
          --with-gd=shared \
          --enable-bcmath=shared \
          enable-dba=shared with-db4=%{_prefix} \
          --with-xmlrpc=shared \
          --with-ldap=shared \
          --with-mysql=shared,%{_prefix} \
          --with-mysqli=shared,%{_bindir}/mysql_config \
          --enable-dom=shared \
          --with-dom-xslt=%{_prefix} --with-dom-exslt=%{_prefix} \
          --with-pgsql=shared \
          --with-snmp=shared,%{_prefix} \
          --enable-soap=shared \
          --with-xsl=shared,%{_prefix} \
          enable-xmlreader=shared enable-xmlwriter=shared \
          --enable-fastcgi \
          --enable-pdo=shared \
          --with-pdo-odbc=shared,unixODBC,%{_prefix} \
          --with-pdo-mysql=shared,%{_prefix} \
          --with-pdo-pgsql=shared,%{_prefix} \
          --with-pdo-sqlite=shared,%{_prefix} \
    #      --with-pdo-oci=shared,$ORACLE_HOME \
          --with-oci8=shared,$ORACLE_HOME/lib \
           --enable-sigchild
    popdI'm getting :
    Build complete.
    (It is safe to ignore warnings about tempnam and tmpnam).
    + with-oci8=shared,/u01/app/oracle/product/10.2.0/db_1/lib enable-sigchild
    /var/tmp/rpm-tmp.11885: line 156: --with-oci8=shared,/u01/app/oracle/product/10.2.0/db_1/lib: No such file or directory
    error: Bad exit status from /var/tmp/rpm-tmp.11885 (%build)
    Please help.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

    and a bit further :
    diff:
    12,13c12,13
    < %define oci8_test_system_password tiger
    < %define oci8_test_connection_string localhost/lhome
    %define oci8_test_system_password oracle
    %define oci8_test_connection_string localhost/orcl2136,138c136,137
    < Requires: php-common = %{version}-%{release}, php-pdo
    < # oracle-instantclient-basic = %{ociver} php-pdo
    < #BuildRequires: oracle-instantclient-devel = %{ociver}
    Requires: php-common = %{version}-%{release}, oracle-instantclient-basic = %{ociver} php-pdo
    BuildRequires: oracle-instantclient-devel = %{ociver}339c338
    < \$user       = "scott";
    \$user = "system";487c486,487
    <       with-oci8 enable-sigchild
    --with-pdo-oci=shared,instantclient,/usr,%{ociver} \
    --with-oci8=shared,instantclient,/usr/lib/oracle/%{ociver}/client/lib --enable-sigchild496c496
    <       disable-pdo disable-xmlreader --disable-xmlwriter
    disable-pdo disable-xmlreader --disable-xmlwriter506,508c506,508
    < #export PDO_OCI_TEST_DSN=oci:dbname=%{oci8_test_connection_string}
    < #export PDO_OCI_TEST_USER=system
    < #export PDO_OCI_TEST_PASS=%{oci8_test_system_password}
    export PDO_OCI_TEST_DSN=oci:dbname=%{oci8_test_connection_string}
    export PDO_OCI_TEST_USER=system
    export PDO_OCI_TEST_PASS=%{oci8_test_system_password}571c571
    <     pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite; do
    pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite pdo_oci; do589c589
    < #cat files.pdo_oci >> files.oci8
    cat files.pdo_oci >> files.oci8rpmbuild -bi
    + '[' /var/tmp/php-root '!=' / ']'
    + rm -f /var/tmp/php-root/etc/httpd/conf/httpd.conf /var/tmp/php-root/etc/httpd/conf/httpd.conf.bak
    + /usr/lib/rpm/brp-compress
    + /usr/lib/rpm/brp-strip
    + /usr/lib/rpm/brp-strip-static-archive
    + /usr/lib/rpm/brp-strip-comment-note
    Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.40673
    + umask 022
    + cd /usr/src/redhat/BUILD
    + cd php-5.2.3
    + cd build-apache
    + export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
    + NO_INTERACTION=1
    + REPORT_EXIT_STATUS=1
    + MALLOC_CHECK_=2
    + unset TZ LANG LC_ALL
    + make test
    Build complete.
    Don't forget to run 'make test'.
    PHP Warning:  PHP Startup: gd: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
    in Unknown on line 0
    PHP Warning:  PHP Startup: ldap: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
    in Unknown on line 0
    PHP Warning:  PHP Startup: gd: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
    in Unknown on line 0
    PHP Warning:  PHP Startup: ldap: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0etc. etc...

  • How to include Freight charges and unloading charges in Material price.

    Hi All,
    Can you pls. advice how we can include freight charges & unloading charges in Material price (MAP) when receive in system.
    Current Situation :
    We buy Switchgears from vendor, which transported with special vehicle arrangement from different service provider and gets unloaded at warehouse by another service provider. Currently business create seperate PO for Material vendor, Freight Vendor and for unloading service provider. But MAP is only updated with Material cost only. How can I include delivery cost and unloading cost in MAP thro standard SAP process.
    Your solution will help business heaps.
    Regards,

    Hi,
    Create three condition types namely basic material price, freight charges & unloading charges.
    For  basic material price , you can copy PB00 and rename your basic material price condition type.Now freight charges & unloading charges condition type in M/06 , do not maintain condition category ( keep it blank ), so that it will added to inventory cost .For freight charges & unloading charges do not maintain account key & accrual key in Pricing procedure.
    Cretae PO , now you will see all cost added to NET price in PO and you can for doing GR where all cost are inventoried as materisl cost.
    Regards,
    Biju K

  • How to load different modules in moduleLoader - some with other without unload?

    Ok so I've read a lot about modules and I decided to build a site where I have a button bar menu and a single moduleLoader, where all of my pages are separate modules. Some of the modules will be preloaded with moduleManager technique so they will be in memory and should pop up instantly and others should be unloaded since they will be used rarely. Imagine you have 50 pages, 45 of them use the same 3 modules and the rest 5 use 5 other modules.
    So I need 2 things:
    1) those 3 modules preloaded (loaded into memory) and then used - this is not a problem. In the change handler of the button bar I just set the url of the moduleLoader=""; and right after that line I put moduleLoader.url = "module1.swf" for example. This way the ready event fires everytime I change the selected button of the buttonBar and since the module is loaded into memory it changes immediately, which is great.
    2) I need the rest 5 modules that are not preloaded, to be loaded by the moduleLoader and when the user clicks on another button, the module to be unloaded and the new module for the new selected button to be loaded on it's place. So here unloading of the old module and loading of the new one should happen with 1 user interaction - clicking a button. How do I do that?
    I am asking this because I found out that there is some difference when the module has been preloaded or not which changes the way it unloads. Also in certain cases if a module has been unloaded once and loaded again it stops shooting the unload event by only changing the moduleLoader.url and then you have to specifically call moduleLoader.unloadModule() function to get it called.
    And all of this brought me to the idea that maybe the only way to make this work for case 2 is having moduleLoader.unloadModule(); and on the next line after it moduleLoader.url = "newModuleUrlHere";
    But then I bumped into a problem with flickering in my buttonBar selected button transition which I describe and give online example of here:
    http://forums.adobe.com/thread/760347?tstart=0
    So is there any technique of combining preloaded modules which should not be unloaded + the ones who need to be loaded and unloaded and all of this to be working with just one moduleLoader instance?
    I really didn't expect to have so much trouble with modules... If no one can suggest me a working example I will post each case I described here to help me get resolution to this cause I can't get on with my project and it's very important.
    Thanks in advance!

    Hi thanks for the reply here too
    I agree it totally makes sense if I do not unload modules to load them in the same application domain and not as a child. This way I wouldn't have to worry about the singletons I could have forgotten to initialize in the main application If my logic is correct. But still is it wrong to leave them in a child ApplicationDomain since I will still have modules I will need to unload and I would still have to be careful about the singleton managers?
    Note: have in mind I am trying to separate the module's from the main application, so the application won't use any classes defined in the modules since it won't be aware of what's in what module.
    Yes, I do have a buttonBar buttons which map to module urls.
    Ok I will try to setup my questions in a few very simple example applications, it would be easier for you to understand what's confusing me.
    http://filip.nedyalkov.net/moduleLoaderTesting2/ - view source enabled - look at testing3.mxml
    In the button bar change handler I have:
    moduleURL = buttonBar.
    selectedItem.url;moduleLoader.url = moduleURL;
    and I listen to the moduleLoader unload event.
    On the Unload Current Module Button I have: moduleLoader.unloadModule();
    Ok what is confusing me is this: When I start switching between module1 and module2 do they automatically get unloaded because I recall reading that changing the moduleLoader.url property doesn't unload the module just releases it? Also I'm getting the unload event shoot very strange because if I am on module1 and then click on module2 it doesn't shoot that module1 was unloaded, it doesn't do anything. As soon as I click back on module1 then it shoot unloaded (you can see that in my example in the text area).
    Another strange thing is that while doing this, everytime you click on module1 or module2 they get transferred over the network I can see that in mozilla firebug. Now if I am on module1 and click the Unload Current Module button the module really gets unloaded and then the unload event is correct and shoot when it's supposed to shoot. Now if you click on module2 and then come back to module1 it will get loaded again, but now it will be put in memory, it won't shoot unload event any more and it won't get transferred over the network when I switch the modules? Why is that ? All I did was unloading the module once and it changes everything.
    So I hope you undertstand this cause I have no idea is this supposed to work this way? Would you be so kind to explain me this behaviour ?
    Thanks!

  • How to load and unload more than one external swf files in different frames?

    I do not have much experience on Adobe Flash or Action Script 3, but I know the basics.
    I am Arabic language teacher, and I design an application to teach Arabic, I just would like to learn how to load and unload more than one external swf files in different frames.
    Thanks

    Look into using the Loader class to load the swf files.  If you want to have it happen in different frames then you can put the code into the different frames.

  • VB6 and Excel loading then unloading immediately

    First off I posted this here
    http://social.msdn.microsoft.com/Forums/office/en-US/4c07879b-e033-4e8f-8266-95f9f606923a/vb6-and-excel-loading-then-unloading-immediately?forum=exceldev However I think this is the right forum for this.
    We have an old VB6 application that uses data from and to Excel 97-2003 XLS and
    Access MDB. This application is slated to be updated to VS2012 and VB.NET. In
    the mean time I have a glitch that I cannot seem to find the issue. When we
    load the VB6 app it opens Excel 2010 in the background for getting and setting
    data. We are set to roll out Office 2010 on everyone’s system and I am still
    unable to find why it works fine on two systems and not on others. With Office
    2007 everything seems to work just fine.
    What happens is when I look at the processes in Task Manager on my Windows 7
    Enterprise edition with Office Professional Plus 2010 system while loading
    the VB6 app I see?
    EXCEL.EXE *32 | "My user name" | 00 CPU | 10,132k | Microsoft Excel
    This is normal and stays in process the entire time I run it on my system. I also have
    this working on another end users system. However the issue and the fix I used
    on our two systems does not seem to work on other systems. I launch the VB6 app
    and it comes up.
    EXCEL.EXE *32 | "My user name" | 00 CPU | 10,132k | Microsoft Excel
    This loads in the processes and then immediately unloads without any errors. Then when I
    execute something that needs to use Excel I get.
    Run-Time error ‘91’:
    Object variable or With block variable not set.
    This only happens if Excel unloads immediately otherwise the program works great. There
    are no events in any of the event logs and our other IT guy said it is loading
    and unloading normally with out crashing.
    I have applied this to the systems http://support.microsoft.com/kb/926430/en-us . In
    all of my searching this looked like the best answer. However only two systems
    are working with Office Professional Plus 2010.
    Here are the references and components.
    References:
    Visual Basic For Applications
    Visual Basic runtime objects and procedures
    Visual Basic objects and procedures
    OLE Automation
    Microsoft DAO 3.6 Object Library
    Microsoft Excel 5.0 Object Library
    Components:
    Controls
    Desaware Animated Button Control
    Microsoft Common Dialog Control 6.0 (SP6)
    Microsoft Data Bound Grid Control 5.0 (SP6)
    Designers
    Dat Environment
    Data Report
    DHTML Page
    WebClass
    Code:
    Public xlApp As Excel.Application
    Public WBSetup As Excel.Workbook
    Public objWbCALC As Excel.Workbook
    Public objShtLEVELS As Excel.Worksheet
    Sub Main()
    ' There is more code here that is not specific to Excel issue
    Set xlApp = Excel.Application
    ' Get the workbook.
    Set objWbCALC = xlApp.Workbooks.Open("c:\temp\Calc.xls")
    Set WBSetup = xlApp.Workbooks.Open("c:\temp\Setup.xls")
    ' Get worksheet
    Set objShtLEVELS = objWbCALC.Worksheets("Levels")
    ' There is more code here that is not specific to Excel issue
    End Sub
    This is working on one system that had Office 2007 and was upgraded to Office 2010. Working on my system with Office 2010. The EXE file is ran from the server you can install it or add the OCX files to local system and register them with regsvr32. No
    new components have been added or changed to the actual VB6 application. It seems to work on two systems and not on other systems.
    However our test system have Office 2010 loaded on it and never had office 2007 on it. Maybe there is a residual left over file on it.
    Any ideas?
    www.ipdg3.com

    Hello,
    Thank you for your post.
    I am afraid that the issue is out of support range of VS General Question forum which mainly discusses
    WPF & SL designer, Visual Studio Guidance Automation Toolkit, Developer Documentation and Help System
    and Visual Studio Editor.
    I would like to know whether you can get the same issue when you create/load a Visual Basic application rather than VB6 in VS2012. If the issue only occurs when you load VB6 app, as Andrew said, there are other better forums for
    VB6 app provided in this thread:
    http://social.msdn.microsoft.com/Forums/vstudio/en-US/6a0719fe-14af-47f7-9f51-a8ea2b9c8d6b/where-to-post-your-vb-6-questions?forum=vbgeneral
    For example:
    VB Forums
    VB City
    Best regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Unload CLOB data to a flat file

    Hi,
    does anybody knows how to unload CLOB data to a flat file. Can u pl give a example. Is there any ulity in Oracle to unload data to a flat file. Whether we have to use the concatation operator for unloading the data to a flat file.
    help??????
    regards,
    gopu

    I don't know if there's an easy way, but you might want to try using the packages UTL_FILE and DBMS_LOB.
    Hope that helps.

Maybe you are looking for