Zend
From OpenEMR Project Wiki
Overview
- On 6/28/14, code requiring the Zend library was incorporated into the OpenEMR codebase. This was brought in by ZH Healthcare for a Module feature which is a large part of the Meaningful Use 2 project.
Code Import
- On 2/13/16 (for OpenEMR version 4.3.1), upgraded the embedded Zend 2 library to version 2.4.9 (this was necessary to support PHP7):
- On 6/28/14, imported the following commits (in chronologic order):
- 212e69 - Main Zend Module Commit.
- WhyModulesInstaller.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/WhyModulesInstaller.pdf
- ModuleInstaller-DeveloperGuide.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/ModuleInstaller-DeveloperGuide.pdf
- Refer line no.26 in zend_modules/init_autoloader.php for setting up ZF2 Library Path Settings.
- 6e36d2 - Removed a function in prior commit that is dangerous and not used.
- 4befb7 - Set correct permissions for application.config.php file
- Required changes in the installation script and ubuntu/debian scripts
- 88be3c - Zend 2 library
- This is the actual Zend 2 library(version 2.2.5). This may be only temporary as developers learn to use this and if can figure out way for end users to install as an external dependency.
- 212e69 - Main Zend Module Commit.
Configuring Zend
PHP
Need to use php version 5.3.3 or greater.
Apache
This section is to document best way to configure Zend with apache. It appears following two things need to be completed in apache for zend stuff to work:
- enable "rewrite" mod in apache
- allow "AllowOverride" in apache
- There are some security considerations here(this allows use of .htaccess files). Ideally would have following set up:
- Apache's main config file would turn this off.
- Turn this on in OpenEMR directory
- Turn this off in the OpenEMR directories that allow uploaded files (such as sites/default/documents)
- Need to test above setup and if works, then need to place in the setup.php instructions and also set up for the ubuntu/mint/debian package.
- There are some security considerations here(this allows use of .htaccess files). Ideally would have following set up:
Above is discussed on the following threads:
TO DO
- Document how to get Zend configured for all OS's (see above "Configuring Zend" section for details).
Related Forum Threads