[ORACLE] [PHP] Jak ustawić instantclient w PHP?

No właśnie, niby sprawa oczywista… Ale nie do końca. Wg tego, co można znaleźć w necie, wystarczy w kodzie PHP, np w głównym index.php ustawić na samym początku konfigurację i sprawa załatwiona. Patrz przykład:

Podobnie można to ustawić w php.ini dla serwera apache, ale…

Ale jak się okazuje, w wielu przypadkach, zwyczajnie to nie działa. W przypadku wersji instalacyjnej, w zasadzie problem nie występuje, gdyż w naszym rejestrze systemu [OS MICROSOFT] tworzą się odpowiednie zapisy dotyczące konfiguracji i w zasadzie problemu z działaniem tejże bazy nie ma. A nawet jeśli chcemy co nieco zmienić, to wystarczy wy-edytować odpowiedni klucz rejestru i zrestartować apache’a.

Przykład:

Klient oracle 11g po instalacji dodaje do klucza:

coś takiego jak NLS_LANG, to nic innego jak zmienna określająca zestaw znaków dla danego języka. Dla przykładu wartość :

W przypadku instantclient takiego klucza rejestru nie ma. [jeszscze] W deklaracji PHP nie koniecznie działa, co wtedy?

Otóż sprawa jest dość prosta, nie wymaga znajomości edycji rejestru, ani PHP. Edytujemy lub dodajemy nowe zmienne środowiskowe systemu [np win7->właściwości systemu/zaawansowane] w grupie zmienne systemowe, restart apache i gotowe.

Dla przykładu możemy określić np :

Sprawdzone, działa!