Codeigniter 3 HMVC был сломан - PullRequest
0 голосов
/ 31 мая 2019

Использование этого плагина HMVC в Codeigniter. (https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/src/codeigniter-3.x/)

Работает нормально на другом сервере, но на этом сервере я получаю эту ошибку!

A PHP Error was encountered

Severity: 8192

Message: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior

Filename: MX/Router.php

Line Number: 239

Backtrace:

File: /var/www/project.test/public/application/third_party/MX/Router.php
Line: 239
Function: strpos

File: /var/www/project.test/public/application/third_party/MX/Router.php
Line: 101
Function: _set_default_controller

File: /var/www/project.test/public/index.php
Line: 324
Function: require_once

Ответы [ 2 ]

2 голосов
/ 31 мая 2019

Этот сервер работает под управлением PHP 7, пожалуйста, посмотрите на этот запрос:

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/pull-requests/39/php73-fix-for-error-message-strpos-non/diff

0 голосов
/ 25 июля 2019

Я изменяю строку кодов в функции set_class следующим образом:

    {
        //this is the original codes I commented
    /* $suffix = $this->config->item('controller_suffix');
        if (strpos($class, $suffix) === FALSE)
        {
            $class .= $suffix;
        }
        parent::set_class($class); 
    */

      //and change with this one
        $suffix = (string) $this->config->item('controller_suffix');
        if ($suffix && strpos($class, $suffix) === FALSE) {
            $class .= $suffix;
        }

        parent::set_class($class);
    }

Source: https://forum.codeigniter.com/thread-72393.html
...