ZEND Module installer problem in windows

arnabnaha wrote on Monday, June 30, 2014:

Hello
I downloaded the latest dev-tip from github containing the zend module installer. After installing it and running openemr, i found out certain issues:

  1. Zend module installer must have brought up some databse changes, so I went to http://localhost/openemr/admin.php. But it showed no databse upgrade. that was strange, so i logged in and everythig was screwed up. Did the database upgrade from the old script method - http://localhost/openemr/sql_upgrade.php and then the updates were ready. My question is…why the admin.php page didnt show the necessary upgrade thing?

  2. After logging in I found out a new section called modules under left nav. clicking on that gave me a new option of managing modules…click on that gave me nothing…it was a white page of death. Why??

Error log: showing something fatal

[Mon Jun 30 23:53:36 2014] [error] [client 192.168.50.1] PHP Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\openemr\library\classes\TreeMenu.php on line 179
[Mon Jun 30 23:53:36 2014] [error] [client 192.168.50.1] PHP Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\openemr\library\classes\TreeMenu.php on line 211
[Mon Jun 30 23:53:36 2014] [error] [client 192.168.50.1] PHP Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\openemr\library\classes\TreeMenu.php on line 268
[Mon Jun 30 23:53:51 2014] [error] [client ::1] PHP Fatal error: Constructor Zend\Stdlib\Glob::glob() cannot be static in C:\xampp\htdocs\openemr\interface\modules\zend_modules\library\Zend\Stdlib\Glob.php on line 205, referer: http://localhost/openemr/interface/main/left_nav.php

bradymiller wrote on Tuesday, July 01, 2014:

Hi,

Placed a commit to fix the admin.php issue (forgot to increment the database flag in the version.php file).

The other issue (ie. white screen of death), is because you need to configure apache to work with zend. We’ll need to figure out instruction sets for all OS’s. The online zend framework instructions for xampp really overdo things. The goal in all OS’s to get the following working:

  1. Enable rewrite mod in apache
  2. Allow “AllowOverride” in apache

Here’s how it is done in ubuntu:
https://sourceforge.net/p/openemr/discussion/202506/thread/b515b5bd#87c4

Looks like how you should do it in windows:


ONLY DO STEP 4-1 IN THE “Setting up a simple Zend/PHP project” section
(again, only step 4-1 should suffice)

Let us know if it works.

-brady
OpenEMR

bradymiller wrote on Tuesday, July 01, 2014:

Hi,

Placed following section on Zend wiki page to begin tracking how to best configure apache to work with Zend:
http://www.open-emr.org/wiki/index.php/Zend#Configuring_Zend

-brady
OpenEMR

arnabnaha wrote on Tuesday, July 01, 2014:

thanks brady…i followed ur instructions but still not working

arnabnaha wrote on Tuesday, July 01, 2014:

do i need to do any change in openemr directory? or only the apache httpd conf file will do?

bradymiller wrote on Tuesday, July 01, 2014:

Make sure you restart apache

bradymiller wrote on Tuesday, July 01, 2014:

Should only need to modify apache httpd file. Ensure you restart apache. Let us know exactly what you changed and whether it worked.

arnabnaha wrote on Tuesday, July 01, 2014:

This line was uncommented in my apache httpd.conf file…had to do nothing in it

LoadModule rewrite_module modules/mod_rewrite.so

There are two areas where “AllowOverride” is there in the file

  1. Around line 200
Options FollowSymLinks AllowOverride None Order deny,allow Deny from all

2.Another around line 355

<Directory “/xampp/cgi-bin”>
AllowOverride All
Options All
Order allow,deny
Allow from all

I changed the second one…

arnabnaha wrote on Tuesday, July 01, 2014:

Yes i restarted apache

bradymiller wrote on Tuesday, July 01, 2014:

What do you see above the two section above line 200 and 355 (there should be a directory there)

arnabnaha wrote on Tuesday, July 01, 2014:

This is the copy paste version of above and below line 200:

DocumentRoot: The directory out of which you will serve your

documents. By default, all requests are taken from this directory, but

symbolic links and aliases may be used to point to other locations.

DocumentRoot “/xampp/htdocs”

Each directory to which Apache has access can be configured with respect

to which services and features are allowed and/or disabled in that

directory (and its subdirectories).

First, we configure the “default” to be a very restrictive set of

features.

Options FollowSymLinks AllowOverride None Order deny,allow Deny from all

Note that from this point forward you must specifically allow

particular features to be enabled - so if something’s not working as

you might expect, make sure that you have specifically enabled it

below.

This is the copy paste version of above and below line 355:

# # ScriptSock: On threaded servers, designate the path to the UNIX # socket used to communicate with the CGI daemon of mod_cgid. # #Scriptsock "logs/cgi.sock"

“/xampp/cgi-bin” should be changed to whatever your ScriptAliased

CGI directory exists, if you have that configured.

<Directory “/xampp/cgi-bin”>
AllowOverride All
Options All
Order allow,deny
Allow from all

DefaultType: the default MIME type the server will use for a document

if it cannot otherwise determine one, such as from filename extensions.

If your server contains mostly text or HTML documents, “text/plain” is

a good value. If most of your content is binary, such as applications

or images, you may want to use “application/octet-stream” instead to

keep browsers from trying to display binary files as though they are

text.

bradymiller wrote on Tuesday, July 01, 2014:

ok,

Change the first one and undo the changes in the second one.

Also, what xampp version are you using?

arnabnaha wrote on Tuesday, July 01, 2014:

my xampp is 1.7.3…i am doing it and will tell u the result

arnabnaha wrote on Tuesday, July 01, 2014:

changed…restarted apache…still white screen

bradymiller wrote on Tuesday, July 01, 2014:

Although that will be the correct configuration, I am confident it will not work for you. Since you are using a php version less than 5.3.3 (xampp 1.7.3 uses php 5.3.1). You need to migrate to the newer xampp/openemr package.

arnabnaha wrote on Tuesday, July 01, 2014:

oops…then will do it right now and tell u the results…thanks brady

arnabnaha wrote on Tuesday, July 01, 2014:

one issue is…i have a drupal site running on this xampp…and i have seen earlier that if i migrate or change my xampp version, the drupal site doesnt seem to work even after back up…

bradymiller wrote on Tuesday, July 01, 2014:

Hi Arnab,

In this situation I may advise to consider Mint 17, however we would then lose OpenEMR’s main Windows tester. So, don’t do that :slight_smile:

Suggest setting up a testing machine(or virtual machine) to try to get both to work on the xampp provided in most recent windows xampp/openemr package.

-brady
OpenEMR

arnabnaha wrote on Tuesday, July 01, 2014:

Thanks Brady…Wont change to mint 17 for now…loving my job as a windows tester…dont want to loose job so fast:-)

fsgl wrote on Tuesday, July 01, 2014:

Brady,

Will Arnab have difficulties with the relocation of the openemr web directory in LM 17? Because this will be a test copy, would it not be less troublesome to use LM 16 instead? Is the relocation circumvented with the use of LAMPP?


Arnab,

We can promote you to be the Chief Windows and Linux Tester.

Double the fun. (I sound like an old chewing gum advertisement. If the reader remembers the reference, he is dating himself.)