Asked  2 Years ago    Answers:  5   Viewed   296 times

I've just switched my scripts to a different server. On the previous server this worked flawlessly, and now that I've switched them to a different server, I can't understand the problem.

I'm not sure it would help, but here's the relevant code.

$headers = apache_request_headers();

PHP Version is: PHP 5.3.2



From the docs, before the release of PHP 5.4.0:

This function is only supported when PHP is installed as an Apache module.

PHP 5.4.0 and later support this function unconditionally.

Said docs also include replacement functions that mimic the functionality of apache_request_headers by stepping through $_SERVER.

Saturday, August 20, 2022

Edit: Hmm. Trying this on Windows 8 appears to generate the same error as you specified. I'm currently investigating...

My mistake (I had enabled the wrong extension_dir line). It works in Win8 just as documented below.

The following steps should be all you need to get OCI working with PHP (I've just verified this on a freshly installed Windows 2008 R2 Standard x64 virtual machine):

  • Download and extract PHP (I used C:php from
  • Download and extract InstantClient (I used C:instantclient_12_1 from
  • Add the above paths to the system path.
  • Copy c:phpphp.ini-production to c:phpphp.ini.
  • in php.ini:
    • enabled line extension_dir = "ext".
    • enabled line extension=php_oci8_12c.dll.
  • Install Microsoft Visual C++ 2010 Runtime (x86). This is needed for the OCI8 extension.
  • Install Microsoft Visual C++ 2012 Runtime (x86). This is needed for PHP.

At this point running php --ri oci8 in a command prompt shows me the following output:

C:>php --ri oci8


OCI8 Support => enabled
OCI8 DTrace Support => disabled
OCI8 Version => 2.0.9
Revision => $Id: f5a3ee1083d1ffa6adb5143efda6eafa210b8414 $
Oracle Run-time Client Library Version =>
Oracle Compile-time Instant Client Version => 12.1

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 => Off => Off

Statistics =>
Active Persistent Connections => 0
Active Connections => 0

And checking for the oci_connect function:

C:>php -r "var_dump(function_exists('oci_connect'));"
Friday, August 19, 2022

You should point to your vendor/autoload.php at Settings | PHP | PHPUnit when using PHPUnit via Composer.

This blog post has all the details (with pictures) to successfully configure IDE for such scenario:

Related usability ticket:

P.S. The WI-18388 ticket is already fixed in v8.0

Sunday, July 31, 2022

On Mac OS X environment variables available in Terminal and for the normal applications can be different, check the related question for the solution how to make them similar.

Note that this solution will not work on Mountain Lion (10.8).

Sunday, November 6, 2022

Make sure you're including the file you think you are. If your index.php page looks exactly like you've stated, then it won't return anything.

If you want to link to the same location from anywhere on the site without worrying about relative locations, then at the beginning of the file, put:


And it should work fine, provided your file would be located at

Tuesday, August 16, 2022
Only authorized users can answer the search term. Please sign in first, or register a free account.
Not the answer you're looking for? Browse other questions tagged :

Browse Other Code Languages