Orange HRM is not Working for PHP 7

2019-09-18 13:42发布

问题:

I updated my server from PHP 5.5 to PHP 7. Now Orange HRM is not Working. Production is on hr.oyasys.com . Error happen only after login (http://hr.oyasys.com/index.php/dashboard)

 stack trace
at ()
in SF_ROOT_DIR/lib/vendor/symfony/lib/controller/sfController.class.php line 182 ...
    if ($this->getActionStack()->getSize() >= $this->maxForwards)

    {

      // let's kill this party before it turns into cpu cycle hell

      throw new sfForwardException('Too many forwards have been detected for this request.');

    }

回答1:

I don't think OrangeHRM has accounted for updates to PHP 7. mysql_* functions were also removed and I ran into an error or install.

https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7



回答2:

OrangeHRM uses the legacy mysql_connect extension which was deprecated in PHP 5.5 and was completely removed from PHP 7.

If you need to run OrangeHRM, you will have to downgrade your PHP version to 5.x or move OrangeHRM to a different compatible server.



回答3:

I solved in this way to install orangehrm 3.3.0 on ubuntu 16.04

Added PPA repository

sudo add-apt-repository ppa:ondrej/php

Installed php5.6

sudo apt-get update sudo apt-get install php5.6

Installed some modules

sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml

Enabled php 5.6 module in apache2

Installation works fine



回答4:

Downgrading is not really solving the issue, it's just working around the issue. There are a lot of people that cannot simply downgrade due to restrictions with other software running, and in some cases, IT policy.

It sucks, but we're not getting any love or a real solution until OrangeHRM does the changes necessary to support being run under PHP 7.



标签: php orangehrm