Forum Stats

  • 3,733,849 Users
  • 2,246,830 Discussions
  • 7,856,894 Comments

Discussions

Setting up a development environment with a legacy codebase, my setup and resulting error.

Michael Curious
Michael Curious Member Posts: 2
edited October 2018 in PHP

Hey guys,

I'm a junior developer and I'm a *bit* in over my head here. There are no other senior developers on this project, and I'm having some difficulty even getting the site to work on my machine without throwing errors. I know this topic has been covered before, that's how I found these forums, but I'm unsure if I'm even installing the correct things for this environment. I've tried some of the troubleshooting steps from the other posts, but they seem to mostly apply to other operating systems.

My error:

Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in C:\xampp\htdocs\wrc\database\connect.php on line 11

What I know:


I'm supposed to use OCI 8 & Xampp 5.6 to get plugged into our codebase. I've gotten conflicting stories on what my codebase uses. The technical people who've provided me guidance are working on another codebase that's using PHP 7, and the people more familiar with my project aren't technical at all. Neither has provided the information I need to launch and develop this codebase and I've run out of threads I can pull on for now. I'm hoping someone here can help me find more breadcrumbs.

Here's what I've installed according to my notes:

Windows 10

Xampp with PHP 5.6.38

Technical team tells me to use:

Oracle Instant Client 12.2

Non technical manager tells me to use https://www.youtube.com/watch?v=kdWWnPC4xzs which uses instant client 11.2

My current install followed the instructions of my peers, except my PHP installation began throwing warnings that it was missing some DLL's.

I installed the DLL's from PECL :: Package :: oci8 :: 2.0.12  the x86 thread safe.

First I followed the non-technical manager's video, and that didn't work. Then I followed the technical team's instructions, but it turns out they're using PHP 7, and I had to install those additional files, and that appeared to work (OCI 8 appears in phpinfo())

But now I'm getting this error and I'm at my wit's end. Any help or directions would be appreciated.

The technical team's instructions follow.

download xampp (I used 5.6.38)

download oracle instant client (I used 12.2)

    http://www.oracle.com/technetwork/topics/winsoft-085727.html

set system environment path variable to point at folder where you put instant client (c:\instantclient_12_2 for me)

                can just start typing 'environment variable' into start window, it will show up

                Environment Variables -> click 'Path' variable under System Variables and hit 'Edit...'

copy following files from instant client folder and put into xampp/apache/bin folder

                oci.dll, oraociei12.dll and oraons.dll (done)

run xampp, edit php.ini (click apache config button)

                uncomment this line: extension=php_oci8_12c.dll

                uncomment this line: extension=pdo_pgsql

                change this line 'memory_limit=128M' to 'memory_limit=512M'

-----------------------------------------------------

and after this I installed the PECL files, which solved some warnings being thrown about not finding .dll files that were there.

Best Answer

  • Michael Curious
    Michael Curious Member Posts: 2
    edited October 2018 Accepted Answer

    I have at least temporarily solved this issue. It's a hack and I hate that I had to do it, but it works, so here it is:

    I deleted the instant client directory from the global PATH

    Copied the content of the instant client and pasted it into the system & system32 directories. (attempt 1) this failed to resolve the issue.

    I then, attempting to solve the issue another way, copied the internals of instantclient_12_2 and pasted it into the xampp\apache\bin folder, where I had already planted a few other files as per the install recommended by my technical peers.

    These were both hacks, and I'm not sure which exactly fixed the issue in the end so I'm leaving it as is and documenting both.

    I hate that it works but it works.

    I hope this helps someone, and if anyone has a more nuanced or elegant solution in mind, I remain receptive.

    Cheers,

    Michael

Answers

  • Michael Curious
    Michael Curious Member Posts: 2
    edited October 2018 Accepted Answer

    I have at least temporarily solved this issue. It's a hack and I hate that I had to do it, but it works, so here it is:

    I deleted the instant client directory from the global PATH

    Copied the content of the instant client and pasted it into the system & system32 directories. (attempt 1) this failed to resolve the issue.

    I then, attempting to solve the issue another way, copied the internals of instantclient_12_2 and pasted it into the xampp\apache\bin folder, where I had already planted a few other files as per the install recommended by my technical peers.

    These were both hacks, and I'm not sure which exactly fixed the issue in the end so I'm leaving it as is and documenting both.

    I hate that it works but it works.

    I hope this helps someone, and if anyone has a more nuanced or elegant solution in mind, I remain receptive.

    Cheers,

    Michael

Sign In or Register to comment.