我在Codeigniter 2.1.3和codeigniter的最新cjax上遇到了这个奇怪的错误。奇怪的是,当我下载最新的codeigniter,以及用于codeitniger的最新cjax框架并将其复制到我的朋友服务器时,并致电:
domain.com/ajax.php?test/test2
显示测试ajax示例...它的工作方式轻而易举,但是当我在服务器上执行此操作时,我收到服务器错误(即便如此,我们都有相同的php版本等)。然后服务器在错误日志文件中抛出此错误:
PHP Fatal error: Class 'CI_Controller' not found in /hosting/www/domain.com/www/application/response/test.php on line 3
现在,我已经通过更改构造并调用CI_Controller而不是Controller来解决与此问题有关的人的stackoverflow问题。但是我已经这样做了...... - 我的意思是它在基本的例子中,假设在没有触及代码的情况下工作,并且确实如此,但由于某些糟糕的原因而不在我的域中。
来自cjax框架的代码编译器的Ajax.php 应该从文件夹响应加载控制器,名为test和调用函数test2,看起来像这样(实际文件名为test.php):
class Test extends CI_Controller {
function __construct()
{
parent::__construct();
}
/**
*
* ajax.php?test/test/a/b/c
*
* @param unknown_type $a
* @param unknown_type $b
* @param unknown_type $c
*/
function test($a = null,$b = null, $c = null)
{
$this->load->view('test', array('data' => $a .' '.$b.' '.$c));
}
/**
* ajax.php?test/test2
*
* Here we are testing out the javascript library.
*
* Note: the library it is not meant to be included in ajax controllers - but in front-controllers,
* it is being used here for the sake of simplicity in testing.
*/
function test2()
{
$ajax = ajax();
$ajax->update('response','Cjax Works');
$ajax->append('#response','<br /><br />version: '.$ajax->version);
$ajax->success('Cjax was successfully installed.', 5);
//see application/views/test2.php
$this->load->view('test2');
}
我希望有人可以为这个问题带来一些启示 - 或者有人已经体验过这个问题?
感谢您的时间! 玛特
答案 0 :(得分:2)
在php.ini文件中关闭PHP严格标准。
error_reporting = E_ALL ^ E_STRICT
答案 1 :(得分:0)
在这里下载codeigniter的ajax: http://sourceforge.net/projects/cjax/files/CodeIgnater/AJAXFW_4CI_5.5.zip/download
主要区别是ajaxfw.php !!!!