ZEND Module installer problem in windows

Developers
Arnab Naha
2014-06-30
2014-08-13
  • Arnab Naha
    Arnab Naha
    2014-06-30

    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

     
  • Brady Miller
    Brady Miller
    2014-07-01

    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:
    http://thiranjith.com/2010/09/14/how-to-setup-zend-framework-with-apache-on-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

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

    thanks brady...i followed ur instructions but still not working

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

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

     
  • Brady Miller
    Brady Miller
    2014-07-01

    Make sure you restart apache

     
  • Brady Miller
    Brady Miller
    2014-07-01

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

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

    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

    <Directory/>
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    </Directory>

    2.Another around line 355

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

    I changed the second one...

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

    Yes i restarted apache

     
  • Brady Miller
    Brady Miller
    2014-07-01

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

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

    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.

    <Directory/>
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    </Directory>

    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:

    </IfModule>

    <IfModule cgid_module="">
    #
    # 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"
    </IfModule>

    "/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
    </Directory>

    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.

     
  • Brady Miller
    Brady Miller
    2014-07-01

    ok,

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

    Also, what xampp version are you using?

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

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

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

    changed...restarted apache...still white screen

     
  • Brady Miller
    Brady Miller
    2014-07-01

    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.

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

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

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

    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...

     
  • Brady Miller
    Brady Miller
    2014-07-01

    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 :)

    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

     
  • Arnab Naha
    Arnab Naha
    2014-07-01

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

     
  • fsgl
    fsgl
    2014-07-01

    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.)

     
  • Brady Miller
    Brady Miller
    2014-07-02

    Hi,

    I'm not trying to convert Arnab to linux just yet, since he's been the main Windows tester that ensures compatibility of development codebase with OpenEMR. He's taking one for the team :)

    For his testing copy, best to do on same OS as his production copy.

    For LM 17, the relocation is not that big of a deal (anymore, at least) since a user can either install the ubuntu package and not worry about the path or install the tarball into the new /var/www/html path.

    http://www.youtube.com/results?search_query=doublemint+comemrcials

    -brady
    OpenEMR

     
    Last edit: Brady Miller 2014-07-02
  • Arnab Naha
    Arnab Naha
    2014-08-04

    Can anybody tell me how to install or even write modules for the module installer to install?

     
    • Kevin Yeh
      Kevin Yeh
      2014-08-13

      This was part of my objection to such massive changes being introduced into the code base.

      The community has no information on how this "feature" is useful.

      There were promises made about MU2 related modules, but nothing has been delivered.

       
    • MD Support
      MD Support
      2014-08-13

      ZH is using Zend Framework for new functionality. That is based on concept of modules. If you write code using that architecture you will 'publish' it to installer and users have option to activate that 'module'. Unless entire project moves to ZF2, you should still be able to do write your own modules old way.