如何更正codeIgniter插件的PHP路径?

如何更正codeIgniter插件的PHP路径?,php,codeigniter,path,rediska,Php,Codeigniter,Path,Rediska,我曾尝试将Rediska(RedisPHP客户端)安装到我的codeigniter应用程序中,但没有成功。当我试图将其放入Codeigniter的插件文件夹时,会出现大量“没有这样的文件或目录”错误: 严重性:警告 信息: require_once(Rediska/Connection/Exception.php) [函数.require once]:失败 开放流:没有这样的文件或目录 文件名:Rediska/Connection.php 电话号码:6 在我之前有人成功地将Rediska安装到C

我曾尝试将Rediska(RedisPHP客户端)安装到我的codeigniter应用程序中,但没有成功。当我试图将其放入Codeigniter的插件文件夹时,会出现大量“没有这样的文件或目录”错误:

严重性:警告

信息: require_once(Rediska/Connection/Exception.php) [函数.require once]:失败 开放流:没有这样的文件或目录

文件名:Rediska/Connection.php

电话号码:6

在我之前有人成功地将Rediska安装到Codeigniter中吗

从Rediska安装手册来看,它似乎是一个简单易用的插入式安装:

因为现在只是关于基于路径的错误,所以我假设应该有一些方便的PHP设置,我可以更改这些设置以使其正常工作


谢谢

这是一个简单的包含路径相关问题。换句话说,PHP无法自动加载您试图使用的库(在您的例子中是Rediska)试图加载的文件

我假设您已经将Rediska库目录的内容提取到CodeIgniter的system/application/libraries目录中(因此在libraries目录中有Rediska.php和Rediska目录)。您必须插入以下代码:

ini_set('include_path', ini_get('include_path').';'.APPPATH.'libraries/');
…进入以下位置之一(由您选择):

  • 在调用文件最底部的require_once函数之前,修改main index.php文件
    • 进入要使用Rediska的(每个)控制器
    • 修改Rediska.php文件,并将这一行添加到文件的最顶端(后面的第一行)
  • 然后,您应该能够使用以下行加载rediska(从您的控制器或其他库):

    或者,您可能希望自动加载Rediska库,而不是手动加载库。有关更多信息,请参阅


    希望有帮助。

    这是一个简单的包含路径相关问题。换句话说,PHP无法自动加载您试图使用的库(在您的例子中是Rediska)试图加载的文件

    我假设您已将Rediska library目录的内容提取到Code Igniter的system/application/libraries目录中(因此在libraries目录中有Rediska.php和Rediska目录)。您必须插入以下代码:

    ini_set('include_path', ini_get('include_path').';'.APPPATH.'libraries/');
    
    …进入以下位置之一(由您选择):

  • 在调用文件最底部的require_once函数之前,修改main index.php文件
    • 进入要使用Rediska的(每个)控制器
    • 修改Rediska.php文件,并将这一行添加到文件的最顶端(后面的第一行)
  • 然后,您应该能够使用以下行加载rediska(从您的控制器或其他库):

    或者,您可能希望自动加载Rediska库,而不是手动加载库。有关更多信息,请参阅


    希望有帮助。

    我没有让ini_集解决方案起作用,但该行的一个变体非常有效:
    设置_include_path(get_include_path().path_SEPARATOR.APPPATH.libraries/);

    我没有让ini_set解决方案起作用,但该行的一个变体非常有效:
    set_include_path(get_include_path().path_SEPARATOR.APPPATH.libraries/);

    刚刚注意到phil Sturgeon关于插件冗余的说明

    目前,我正在将Rediska滚动到CI库中,但对于一般用途,您可以使用以下命令包含基于CI应用程序路径的文件

    include(APPPATH.'libraries/rediska/Exception.php');
    

    将Exception.php包含在system/applications/libraries/rediska/

    中刚刚注意到phil Sturgeon关于插件被冗余的注释

    目前,我正在将Rediska滚动到CI库中,但对于一般用途,您可以使用以下命令包含基于CI应用程序路径的文件

    include(APPPATH.'libraries/rediska/Exception.php');
    

    将Exception.php包含在system/applications/libraries/rediska/

    中,我建议您不要费心编写插件,“插件”的整个概念是在CodeIgniter 2.0中删除的,所以现在你正在制作一些东西,一旦升级就会死掉。什么版本的PHP?在你的版本中自动加载会起作用吗?我建议你不要费心编写插件,“插件”的整个概念是在CodeIgniter 2.0中删除的,所以现在你正在制作一些东西,一旦升级就会死掉。什么版本的PHP?自动加载在你的版本中可以工作吗?