Are Drupal .php files associated with a module cached? I am wondering if they are, as that would explain why a simple change to one of my variables in my config.php file is not showing up in the DOM. 

Here is what is making me suspect this. 

In my fls_price_calculator_2012 module in my includes directory I have a file called config.php.

I am trying to change my $START_DATES_OPTIONS_COMBINATIONS['Specialty Tours'] variable to look like the following: 

$START_DATES_OPTIONS_COMBINATIONS['Specialty Tours']['Surf Camp - Saddleback College'] = array('June 29, 2014', 'July 6, 2014', 'July 13, 2014', 'July 20, 2014', 'June 28, 2015');


Simply adding June 28, 2015 as a last option to the array.

The php file is included in my .module file for the module, following this line:

include_once('includes/config.php')


in my fls_price_calculator_2012.module file. 

The variable itself is added into a hidden &lt;input&gt; variable in the DOM in the same .module file like so: 

$tour_start_dates = '&lt;input type="hidden" id="tour_start_dates" etc...&gt;'
foreach ($START_DATES_COMBINATIONS['Specialty Tours'] as $key =&gt; $value){
  //populates the above created input with the keys and values
}


once it is all loaded in the DOM, I search via the Javascript console for the #tour_start_dates element but I get the only the old value for Surf Camp - Saddleback College and I don't understand how that is happening.
To answer it literally - probably, yes, on many levels:


Filesystem cache
Opcode cache
Possible other caches, depends on your configuration


Above caches should not create the effect you are seeing, but outout of the whole page is also cached, in your browser. Inspect headers to make sure it was not the case, and if so, clear caches and try again. If you have any proxy or reverse proxy, make sure they are not interfering, too.

If you are sure pages are not cached at output, and you didn't make Drupal to cache your variable, it shouldn't be cached. So there are two options:


Problems with include path:


  Files are included based on the file path given or, if none is given, the include_path specified. If the file isn't found in the include_path, include will finally check in the calling script's own directory and the current working directory before failing. 


Maybe there is another instance of this file somewhere, one that gets higher priority in including? That's one of the reasons to use module_load_include instead.
Problems with uploading. You know what you sent to your server. But have you inspected (from console, for example) what really is there? Maybe you are looking for something that isn't even there.