Orange HRM 不适用于 PHP 7

Orange HRM is not Working for PHP 7

我将我的服务器从 PHP 5.5 更新到 PHP 7。现在 Orange HRM 不工作了。 生产时间 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.');

    }

我认为 O运行geHRM 没有考虑到 PHP 7 的更新。mysql_* 函数也被删除,我 运行 进入错误或安装。

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

OrangeHRM 使用遗留 mysql_connect 扩展,该扩展在 PHP 5.5 中已弃用,并已从 PHP 7 中完全删除。

如果您需要 运行 OrangeHRM,您必须将 PHP 版本降级到 5.x 或将 OrangeHRM 移动到不同的兼容服务器。

我通过这种方式解决了在 ubuntu 16.04

上安装 orangehrm 3.3.0

已添加 PPA 存储库

sudo add-apt-repository ppa:ondrej/php

已安装 php5.6

sudo apt-get 更新 sudo apt-get install php5.6

安装了一些模块

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

已启用 php apache2 中的 5.6 模块

安装正常

降级并不能真正解决问题,它只是解决了问题。由于其他软件 运行ning 的限制,在某些情况下,还有 IT 政策,很多人不能简单地降级。

这很糟糕,但在 OrangeHRM 进行必要的更改以支持 PHP 7.运行 之前,我们没有得到任何爱或真正的解决方案。