【问题标题】:CJAX Installation with Codeigniter- Error使用 Codeigniter 安装 CJAX - 错误
【发布时间】:2016-08-17 02:33:27
【问题描述】:

我正在尝试将 CJAX 与 Codeigniter 一起使用。帮助文档真的很混乱,我无法让它们工作。 我已经下载了 CJAX 并将其提取到我的基本根文件夹中,其中包含应用程序和 htaccess 文件。

当我尝试在视图中做事时

/ajax.php?sample/test

我收到以下错误:

Severity: 8192

消息:非静态方法 plugin::initiatePlugins() 不应该 静态调用,假设 $this 来自不兼容的上下文

文件名:classes/core.class.php

有人可以指导我完成安装吗? 我试图在 core.class.php 中将函数 initialPlugins() 更改为公共函数 initiagePlugins 但无济于事。 我的 htaccess 文件是:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d    
    RewriteRule ^(.*)$ index.php/$1 [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule  ^/?ajax/(.*)$  ajax.php?$1 [NC,QSA,L]
</IfModule>

我真的需要一些帮助。谢谢。

【问题讨论】:

    标签: javascript php ajax codeigniter mod-rewrite


    【解决方案1】:

    检查代码,似乎有同名的方法和属性。 在github source 可以找到

    public static $initiatePlugins = array();//line 66
    

    还有方法调用

    function initiatePlugins(){/**/}//line 524
    

    我想说这两个变量混在一起了。不能告诉更多你应该在 github 或他的页面上看到的作者。

    【讨论】:

      【解决方案2】:

      对于 Tpojka 的回复,这不是问题,因为它们的名称相同,但请注意。这种情况甚至不会成为问题。静态变量总是 100% 的时候在它前面有一个 $ 美元符号,而函数/方法永远不会有它,因为这完全不是这种情况。

      另外,让我说这个问题与 mod-rewrite 或 htaccess 无关。

      解决方案

      现在,这是解决这个问题的方法:

      Cjax 工作的要求之一是关闭 PHP 设置“严格标准”。在您的安装中并非如此,看来此设置已打开。你会得到这个严格的标准错误。我建议获取已经符合“严格标准”的 Cjax 5.9。这应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-20
        • 1970-01-01
        • 2015-05-14
        • 2011-09-09
        • 2018-06-26
        • 1970-01-01
        • 2013-05-02
        • 2018-06-23
        相关资源
        最近更新 更多