Revised November 2019.
1\. Install Apache, PHP, Oracle DB 11g XE & 11g, Oracle Forms 6i and 12c & Reports on Win 10 (all 64bit)
========================================================================================================
### **[HOME](http://phporacle.altervista.org/php-oracle-main-menu/ "Main menu") Downloads are now: [https://github.com/slavkoss/fwphp](https://github.com/slavkoss/fwphp)**
26.oct.2019 I use 64 bit XAMPP: PHP 7.3.7 AND APACHE 2.4.38. on Windows 10 64 bit.**PDO: mysql, oci, sqlite ARE WORKING.**Oracle db 11gXE (no more E. Rangel pdooci ? pdo sintax on oci8 program layer)**.
**
I tried 4-5 WAMP server SW. WAMP and ZWAMP are ok but XAMPP unzip is simplest ? almost 1 click . WAMP has problem with composer installations from Windows command line. Next shows more details about ZWAMP (I do not use ZWAMP recently) :
1. Unzip **zwamp-x64-2.2.1-full.zip** to J:\\zwamp64
2. Rename old J:\\zwamp64\\vdrive\\.sys\\Apache2 dir to Apache2\_2\_4\_16
3. Download Apache : [http://www.apachelounge.com](https://www.apachelounge.com/)
Create dir J:\\zwamp64\\vdrive\\.sys\\Apache2.
Unzip **httpd-2.4.20-win64-VC14.zip**? it?s Apache24 folder content to :
**ServerRoot** J:/zwamp64/vdrive/.sys/Apache2 (or c:/Apache24 = ServerRoot) in httpd.conf
Default folder for your your webpages is DocumentRoot
**DocumentRoot** J:/zwamp64/vdrive/.sys/Apache2/htdocs
Directories
ScriptAlias ? also when you use extra folder config file(s) change to your location there
4. No changes in J:\\zwamp64\\vdrive\\.sys\\Apache2\_2\_4\_16\\conf\\extra
5. changes in J:\\zwamp64\\vdrive\\.sys\\Apache2\\conf :
copy here own httpd.conf ver 2.4.16 to conf dir (rename original before copying)
copy here own vhosts.conf ver 2.4.16 to conf dir
6. J:\\zwamp64\\vdrive\\.sys\\Apache2\\conf\\**httpd.conf** :
LoadModule php7\_module /.sys/php/php7apache2\_4.dll
AddType application/x-httpd-php .php# without this OCI8 and PDO MySQL and PDO sqlite are not visible in inet browser
are visible in php CLI
PHPIniDir /.sys/php
7. Download PHP: [http://windows.php.net/download/](https://windows.php.net/download/)**
php-7.0.8-Win32-VC14-x64.zip** same unzip as apache zip above.
8. Downloadnewest oci8-2.1.1 Extension for php 7.0.8 64 bit on Windows 10 64 bit ? april 2016 (**older does not work**) :
OCI8 is also for E.Rangels PDOOCI.
[https://pecl.php.net/package/oci8/2.1.1/windows](https://pecl.php.net/package/oci8/2.1.1/windows) ? Windows dll-s
https://pecl.php.net/package/oci8 ? for Linux
r**eleased by christopher.jones@oracle.com**
[https://blogs.oracle.com/opal/entry/php\_7\_oci8\_2\_1](https://blogs.oracle.com/opal/entry/php_7_oci8_2_1)
**php\_oci8-2.1.1-7.0-ts-vc14-x64\_Jones\_pecl.php.net.zip
Unzip it?s dll-s to: **J:\\zwamp64\\vdrive\\.sys\\php\\ext**
Christopher Jones?s oci8-2.1.1 for php 7 :
**dir J:\\zwamp64\\vdrive\\.sys\\php\\ext\\php\_oci\*.\*
18.04.2016. 05:20 155.136 php\_oci8.dll
18.04.2016. 05:20 790.528 php\_oci8.pdb ? WHAT IS THIS ?
18.04.2016. 05:20 157.184 php\_oci8\_11g.dll
18.04.2016. 05:20 790.528 php\_oci8\_11g.pdb
18.04.2016. 05:20 158.208 php\_oci8\_12c.dll
18.04.2016. 05:20 790.528 php\_oci8\_12c.pdb
7 File(s) 2.997.248 bytes
9. J:\\zwamp64\\vdrive\\.sys\\php\\**php.ini**
10. 2click J:\\zwamp64\\zwamp.exe -> right click **house icon** -> restart
\-> started Apache and MySQL. **If not both started very useful is :**
J:\\zwamp64\\vdrive\\.sys\\Apache2\\bin>**httpd.exe
? this report errors, same as :
php -v
**PHP 7.0.8 (cli) (built: Jun 21 2016 15:15:15) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies**
or
php -r ?var\_dump(function\_exists(?oci\_connect?));?
or
**C:\\WINDOWS\\system32>php -r ?if (! $dbc = oci\_pconnect(?hr?, ?hr?, ?ora7?, ?UTF8?)) echo ?\*\*\*\*\* 1. UNSUCCESSFULL db connect \*\*\*\*\*?; else {echo \\?\\n\\?; echo ?~~~~~~~~~~~ PARSE-BIND-EXECUTE-FETCH ~~~~~~~~~~?; echo \\?\\n\\?; echo ?SUCCESSFULL db connect?; echo \\?\\n\\?; $dml=?SELECT first\_name, phone\_number FROM (SELECT first\_name, phone\_number FROM employees ORDER BY first\_name) where rownum < 3?; echo $dml; echo \\?\\n\\?; $parse\_stid = oci\_parse($dbc, $dml); if (!$parse\_stid) { $m = oci\_error($conn); echo ?skripta: ? . \_\_FILE\_\_ ; echo? says neuspio oci\_parse : ? ; echo $m\[?message?\]; } $exec\_ret = oci\_execute($parse\_stid); echo ?oci\_execute returned: ?; print\_r($exec\_ret); echo \\?\\n\\?; echo ?oci\_fetch\_array returned: ?; $row = oci\_fetch\_array($parse\_stid, OCI\_ASSOC + OCI\_RETURN\_NULLS); print\_r($row); }?WHICH DISPLAYS:~~~~~~~~~~~ PARSE-BIND-EXECUTE-FETCH ~~~~~~~~~~
SUCCESSFULL db connect
SELECT first\_name, phone\_number FROM (SELECT first\_name, phone\_number FROM employees ORDER BY first\_name) where rownum < 3
oci\_execute returned: 1
oci\_fetch\_array returned: Array
(
\[FIRST\_NAME\] => Adam
\[PHONE\_NUMBER\] => 650.123.2234
)
11. Not needed if we use ZWAMP :
Install Apache as a service:
httpd.exe -k install httpd.exe -k restart, or stop
ApacheMonitor: (not needed if we use ZWAMP):
Double click ApacheMonitor.exe, or put it in your Startup folder.
28.11.2015 INSTALLATION APACHE 2.4.16 (Win64) & PHP 7.0.0 RC5 MSVC14 (Visual C++ 2015) x64 ON J:\\zwamp\\vdrive\\.sys\\Apache2 (& ?\\php) OR ON C DISK
Install as a service (not needed if using XAMPP or ZWAMP or WAMP):
**httpd.exe -k install
httpd.exe -k restart**
**httpd.exe -k stop **
ApacheMonitor: Double click ApacheMonitor.exe, or put it in your Startup folder.
Use PGP Signature and/or the SHA Checksums to verify the integrity.
C:\\gnuwin32\\bin\\sha1sum.exe -help
sha1sum.exe -b J:\\0downl\\1\_instalirano\\Apache\_httpd-2.4.16-win64-VC14.zip :
d917094cf13ecea83938aa58058ea7c5c6ef2756
Checksums created with GPGHash by SmartJuwel
Creation date: 22.07.2015 with GnuPG Version: 1.4.18
SHA1-Checksum for: httpd-2.4.16-win64-VC14.zip:
D917094CF13ECEA83938AA58058EA7C5C6EF2756
or SHA224-Checksum or SHA256-Checksum or SHA384-Checksum
php[http://windows.php.net/qa/](https://windows.php.net/qa/%2520)For Apache on Windows: Thread Safe
I did not used **Instant Client** :
Oracle Database drivers for popular languages and environments including Node.js, Python and PHP can use Instant Client to connect to local or remote DBs.
https://community.oracle.com/thread/1051752 :
1\. Download 64 or 32-bit Oracle Instant Client ? there is no **MSVC14 **build 6.8.2015
2\. put it somewhere useful (I put it under my php directory)
3\. Add it to your system?s PATH. (A quick & dirty fix on Windows is to copy
all of the \*.dll files from the 11g InstantClient package\* into same dir
as your webserver?s executable (e.g. httpd.exe).)
http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html
4\. Edit your php.ini and uncomment extension=php\_oci8\_11g.dll
I did not 1. to 4. above !
Stories on WEB that excellent (but never finished and abandoned) old 32 bit F6i, R6i SW and new Windows do not work together are not true. See also ? they managed same as I (good site, could give more details):
[Installing Oracle Developer (forms & reports 6i) on Windows 7 64bit](https://windows7bugs.wordpress.com/2010/03/01/installing-oracle-developer-forms-reports-6i-on-windows-7-64bit/)
and
[Oracle Developer 6i & Oracle database 11g R2 (11.2.0.1.0)](https://windows7bugs.wordpress.com/2012/12/16/oracle-developer-6i-oracle-database-11g-r2-11-2-0-1-0/)
Great question to Oracle who says ?we do not leave our customers who still use F6i & R6i? ? but F6i & R6i can not even be downloaded from Oracle:
Why 32 bit F6i & R6i can not be patched to be **certificated** on 64 bit 11g and 64 bit Windows ? Oracle Power Objects (SW simmilar to F6i & R6i ) is also abandoned SW.
Today is modern to make new SW, worse than old (nobody begins new project with F11 & R11 ? they are rather applications than development SW) and forget poor bastards who bought abandoned SW. So they cut their expenses (and our lifes). Simmilar stories are Microsoft ASP-VS2008-Silverlight, Google AngularJS 1.x ? 2.x, over 100 development SW around?
Incompetent managers and trade departments cut our lifes, but they should know that life is not child joke.
#### APACHE ? USE THREAD SAFE (TS) VERSIONS OF PHP **BINARIES FOR WINDOWS**
MULTITHREAD CAPABLE BINARIES BUILDS ? INTERACTION WITH A MULTITHREADED SAPI AND PHP LOADED AS A MODULE INTO A WEB SERVER.
Use Apache builds provided by [Apache Lounge](https://apachelounge.com/)? PHP official site use their binaries to build Apache SAPIs.
VC9 builds require you to have the _Visual C++ Redistributable for Visual Studio 2008 SP1_ [x86](https://www.microsoft.com/en-us/download/details.aspx?id=5582) or [x64](https://www.microsoft.com/en-us/download/details.aspx?id=15336) installed.
VC11 builds require to have the _Visual C++ Redistributable for Visual Studio 2012_ [x86 or x64](https://www.microsoft.com/en-us/download/details.aspx?id=30679) installed. and so on
**PECL FOR WINDOWS:**[PECL extensions](https://pecl.php.net/) for Windows is being worked on. Windows DLL can be downloaded right from the[PECL website](https://pecl.php.net/).
PECL extension [release](https://windows.php.net/downloads/pecl/releases/) and[ snapshot](https://windows.php.net/downloads/pecl/snaps/) build directories are browsable directly.
**Not needed for 64 bit Apache, PHP, 11XE all three on home PC.**.
Download from [http://www.oracle.com/technetwork/topics/winx64soft-089540.html](http://www.oracle.com/technetwork/topics/winx64soft-089540.html)
instantclient-basic-windows.x64-12.1.0.1.0.zip (64,939,911 bytes) (cksum ? 3658834848)
extract to: C:\\Windows\\SysWOW64\\instantclient\_12\_1
and set it on Win PATH variable + H:\\Apache24\\bin,
(NO: THERE ARE MORE PHP INSTALLATIONS (only 1 Apache): + H:\\php)
C:\\Apache24\\bin>echo %SystemRoot%
outputs: C:\\Windows
C:\\Apache24\\bin>path
extension=php\_oci8\_11g.dll (remove the ?;? from the start of the line)
Restart Apache (XAMPP or WAMP server)
Open file to see database name as
C:\\oraclexe\\app\\oracle\\product\\11.2.0\\server\\network\\ADMIN\\tnsnames.ora
// D:\\app\\Farhan\\product\\11.2.0\\dbhome\_1\\NETWORK\\ADMIN\\tnsnames.ora
LISTENER\_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR\_CONNECTION\_DATA =
(DESCRIPTION =
(ADDRESS\_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT\_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT\_DATA =
(SERVER = DEDICATED)
(SERVICE\_NAME = orcl.168.1.2)
)
)
Service name is ?orcl.168.1.2?, my is: XE :
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sspc)(PORT = 1521))
(CONNECT\_DATA =
(SERVER = DEDICATED)
(SERVICE\_NAME = XE)
)
)
ora7 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sspc)(PORT = 1521))
(CONNECT\_DATA =
(SERVER = DEDICATED)
(SERVICE\_NAME = XE)
)
)
EXTPROC\_CONNECTION\_DATA =
(DESCRIPTION =
(ADDRESS\_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT\_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR\_CONNECTION\_DATA =
(DESCRIPTION =
(ADDRESS\_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT\_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
See [https://github.com/slavkoss/fwphp/blob/master/fwphp/glomodul/z\_examples/index.php](https://github.com/slavkoss/fwphp/blob/master/fwphp/glomodul/z_examples/index.php)
for httpd.conf, vhosts.conf, C:\\Windows\\System32\\drivers\\etc\\hosts, php.ini
kod[ edit]($web_docroot_url/inc/utl/edservertxt.php)[ phpinfo]($web_docroot_url/phpinfo_inc.php) EOKOD; /\* call it so: kod\_edit\_run( $idx // script\_dir\_path , $idxscript // script\_name , MDURL); // web\_docroot\_url = (Apache) web server URL \*/ }
|