After installing everything and going through the install wizard, I got a login screen and thought I was home free.

I tried to login and immediately would get an Access Violation. PHP worked fine and MySql worked fine. PhpMyAdmin for example worked great - it was something with SugarCRM.

After several hours of pullling my hair out, I discovered SugarCRM is still using the deprecated long $HTTP_*_VARS type predefined variables. They were replaced by Super global Arrays from 4.1 onward - but Sugar was never updated.

So, turn on those variables (which are off by default) by putting this in your php.ini:

;have to turn register_long_arrays=On to stop access violation.
register_long_arrays = On

Other php 'gotchas' for Windows are you need to add
libeay32.dll and ssleay32.dll in windows folder for CURL library.
put libmysql.dll in windows folder for mysql (get the version from your mysql install)
added php folder to path
php.ini in windows folder

Note even if php is in your path, the above dlls still will not be found unless they are in the windows folder.


Php.ini changes from recommended.
extension_dir = C:\SugarCRM\Php5.0.4\ext
enabled curl, gd and mysql extensions

Wayne Brantley