2014-06-26

[SOLVED] Adobe Flash not working on Windows Server 2012 in Internet Explorer

I've been accessing a web site that uses Adobe Flash.  From a Windows 2012 Server using Internet Explorer, however, it always asks me to install Flash.  No matter how many times I install Flash, I'm constantly told that Flash is not installed and prompted to install it again.  The Flash content never displays.

From searching the web, everything I found talked about enabling the "Shockwave Flash Object" under "Manage Add-ons".  However, I never even see the Shockwave Flash Object under Manage Add-ons, regardless of the number of times I've uninstalled and re-installed Flash.

I finally figured out the answer.  By default Windows Server 2012 does not allow you to use "consumer" level features like Flash.  Flash is installed but disabled, and there is no way to enable it without installing the "Desktop Experience" feature.  Servers are intended to use a web browser for setup of the system, but not for consumer level things like Flash.  You have to install the consumer level features on your server.

To fix this, run Server Manager on your Windows Server 2012 machine.  Select Local Server and scroll to the bottom in the “Roles and Features” section.  In the upper right corner select Tasks > Add roles and features.


Press Next through the screens until you get to “Features”.  Scroll down to the bottom and open up “User Interfaces and Infrastructure”.  You will have 2 of 3 installed.  The missing one is “Desktop Experience”.  Check “Desktop Experience” and press Next until you are finished.  Then reboot your server.  Flash should now be enabled, and you will see "Shockwave Flash Object" in the "Manage Add-ons" dialog.


Here is the link where I found the answer:

Hope this helps!

2014-04-13

GoDaddy PHP Upgrade from 5.3.x to 5.4.x Kills Sessions on IIS/Windows

The problem...

I spent a sleepless night on this one, but finally figured it out...

NOTE: This issue should only affect those on the GoDaddy Windows Hosting plan using PHP on IIS, but if I'm mistaken, please post your details and solution [if discovered] in the comments!)

I work on a PHP website that is in the process of being rewritten in ASP.NET MVC.  Because of this, the site has been set up on GoDaddy on a Windows Hosting plan with PHP running under IIS.  All was well through PHP versions 5.2.x and 5.3.x, but tonight needed to upgrade to 5.4 while we wait for the migration to be complete.

The site came up fine until I hit pages that required Session data.  It seemed that Sessions stopped working with my existing code.  After much troubleshooting, I discovered that the sessions were being written on the page setting the data, but when I hit another page that wanted to use said Session data, the Session was blank as if created new.

It turns out that there is a discrepancy on GoDaddy on the session.save_path used for PHP 5.2.x/5.3.x and PHP 5.4.x when hosted on the Windows hosting plan.

session.save_path comparison

PHP 5.2 and 5.3

session.save_path = C:\Windows\Temp\


PHP 5.4

session.save_path = D:\Temp\php\session\

The solution...

Now, I don't know if the directory doesn't exist, or if there aren't proper permissions set on the directory, but for whatever reason, it doesn't like that path.  After reverting back to 5.3.x and discovering the path difference, I re-upgraded to 5.4.x and forced the session.save_path to C:\Windows\Temp\ using a ".user.ini" file in the root of my site on GoDaddy.

What to do...

  • Create/Edit ".user.ini" in the root of your site and make sure it has:
    session.save_path='C:\Windows\Temp\'
  • GoDaddy Control Panel | IIS Management | Recycle App Pool
    (This will ensure the PHP config overrides in ".user.ini" are loaded and used)
  • Enjoy access to $_SESSION again!
I hope this will save someone else a sleepless night.