"PHP 5.5+ is required" error

I upgraded to OpenEMR 5.0.0.3 in October '17 (Windows 7 x64), and installed the 5.0.0.8 patch successfully today. I wanted to install the latest ICD-10 code set, but when invoking the Administration > Other > Database sequence, I get the error message “PHP 5.5+ is required”. I seem to have PHP version 5.4.16 installed, dated the same day as I did the upgrade to version 5 last October.

I see that PHP is up to version 7.2.4, and is available in .x86 and x64 flavors, both thread safe and non-thread safe.
Which version should I install, and what is the best mechanism to do it without breaking everything else?
Thanks

hi @Wizard353 ,

For OpenEMR 5.0.0.*, ok to go up to PHP version 7.0.* (is not compatible with with PHP 7.1 or 7.2, though). Note that OpenEMR 5.0.1, which will be released soon, will be compatible with PHP 7.1/7.2.

thanks,
-brady

OK, Thanks very much.

Does it make a difference if I install the Thread Safe version vs. the plain?

I’m running x64 Windows. Is either the x64 or x86 version preferable, or no difference?

I guess you are using xampp which is x86(or use to be) for Windows. Stick with the bus size of the PHP you are upgrading from which most likely is x86 32bit non thread safe and for PHP 7.1 you may require MSVC14 (Visual C++ 2015) .

Yes, I’m running under xampp. I installed the combined xampp / OpenEMR upgrade package last October when I did the change from 4.2.2 to 5.0.0.3. However, it looks like that upgrade package left me with PHP V 5.4.16, but I need 5.5 or better to install the latest ICD-10 data.

I have tried various techniques to upgrade PHP to version 7.0.x as Brady recommended and installed the requisite MS VC15 executable, but even though xampp and mysql seem to start properly after the upgrade, without errors in the xampp control console, I just get a white screen when I try to log into OpenEMR, but no error messages.

Is there an “Upgrade PHP For Dummies” instruction page available somewhere specific for the OpenEMR environment? I followed one set of instructions that I found supposedly for Apache, but it referred to directories that are not present in Apache, at least as my system is configured. I can’t afford to break the system.

I was able to get it back into its previous operational status by restoring the backed up php and Apache directories, so I’m safe for the moment.

Sounds like your PHP install is alright but did you remember to set up your php.ini? Default php.ini will cause the login not to work because of doctrine which needs the pdo module. Ensure these modules are not commented in php.ini
extension=php_soap.dll
extension=php_sockets.dll
extension=php_xsl.dll
extension=php_gd2.dll
extension=php_bz2.dll
extension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_fileinfo.dll
extension=php_gettext.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_xsl.dll

and turn off E_STRICT and E_DEPRECATED error levels.
If you get a white screen afterwards please open php error logs and note any errors.