PHP cannot connect to Oracle. Solution to enable oci8 (extracted from Oracle official website)

WBOY
Release: 2016-08-08 09:24:21
Original
1798 people have browsed it

ENABLING THE PHP OCI8 EXTENSION ON WINDOWS

The Instant Client binaries complement PHP's pre-built binaries for Windows.

  1. Install Apache by downloading httpd-2.2.22-win32-x86-no_ssl.msi from httpd.apache.org/download.cgi

  2. Double click the MSI file to start the installation wizard.

    Install "for All Users, on Port 80". Do a typical install into the default destination folder: C:Program FilesApache Software FoundationApache2.2.

  3. Download the FastCGI component mod_fcgid-2.3.6-win32-x86.zip from httpd.apache.org/download.cgi#mod_fcgid

  4. Unzip it to the installed Apache 2.2 directory. The C:Program FilesApache Software FoundationApache2.2modulesdirectory should now have mod_fcgid.so and mod_fcgid.pdb files.

  5. Edit C:Program FilesApache Software FoundationApache2.2confhttpd.conf and add the line:

    LoadModule fcgid_module modules/mod_fcgid.so
    Copy after login
  6. In httpd.conf, locate the 

    section for htdocs and add ExecCGI to the Options:

    <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
    ...
    Options Indexes FollowSymLinks ExecCGI...
    </Directory>
    Copy after login
  7. Install PHP by downloading the PHP 5.4.0 "VC9 x86 Non Thread Safe" ZIP package php-5.4.0-nts-Win32-VC9-x86.zip fromwindows.php.net/download.

  8. In Windows Explorer unzip the PHP package to a directory called C:php-5.4.0<br>

  9. In C:php-5.4.0 copy php.ini-development to php.ini<br>

  10. Edit php.ini to make the following changes:

    • Add a timezone line like:

      date.timezone = America/Los_Angeles
      Copy after login


      Use your local timezone name.

    • Add the line:

      extension_dir = C:\php-5.4.0\ext
      Copy after login


      This is the directory containing the PHP extensions.

    • Remove the semicolon from the beginning of the line:

      extension=php_oci8_11g.dll
      Copy after login
  11. Edit C:Program FilesApache Software FoundationApache2.2confhttpd.conf and add the following lines. Make sure you use forward slashes '/' and not back slashes '':

    FcgidInitialEnv PHPRC "c:/php-5.4.0"
    AddHandler fcgid-script .php
    FcgidWrapper "c:/php-5.4.0/php-cgi.exe" .php
    Copy after login
  12. Download the "Instant Client Package - Basic" for Windows from the OTN Instant Client page. Because PHP is 32 bit, use the 32 bit version of Instant Client.

    Unzip the Instant Client files to C:instantclient_11_2

  13. Edit the Windows PATH environment setting and add C:instantclient_11_2. For example, on Windows XP, follow Start -> Control Panel -> System -> Advanced -> Environment Variables and edit PATH in the System variables list.

    Commonly you need to reboot Windows so the new environment is correctly set.

    Set desired Oracle globalization language environment variables such as NLS_LANG. If nothing is set, a default local environment will be assumed. See the Globalization chapter in The Underground PHP and Oracle Manual for more details.

    Unset Oracle variables such as ORACLE_HOME and ORACLE_SID, which are unnecessary with Instant Client.

    If you have other Oracle software on the computer then instead of modifying the Windows environment, write a script that sets these values and starts Apache. Otherwise library symbol clashes are likely because of version differences.

  14. Restart Apache using the system tray Apache Monitor or the Start menu option.

以上就介绍了php 连接oracle 无法 启用oci8 解决办法 (摘自oracle官网),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template