【问题标题】:pear module class not definedpear 模块类未定义
【发布时间】:2011-04-06 00:58:29
【问题描述】:

我刚刚使用 Pear install --alldeps 安装了 HTTP_Download,它安装成功。但是,当我尝试使用该模块时,我得到了。我正在使用以下 php.ini include_path = ".:/usr/lib/php:/usr/local/lib/php"。是否有一个我应该包含的目录作为 pear 的一部分以使模块工作?

Fatal error: Class 'HTTP_Download' not found in /home/collab13/public_html/testing123.php on line 2

【问题讨论】:

    标签: php pear


    【解决方案1】:

    您的 PEAR 路径似乎不在包含的路径中。

    试试

    $paths = explode(PATH_SEPARATOR,get_include_path());
    $paths[] = '/path/to/pear';
    $path_combined = implode(PATH_SEPARATOR,$paths);
    
    set_include_path($path_combined);
    ini_set('include_path',$path_combined);
    

    然后尝试加载模块,否则直接将其附加到您的 php.ini 并重新启动服务器。

    【讨论】:

    • 感谢您的回复,我不确定的是 pear 的路径是什么,我相信它在 php 文件夹中,但哪个文件夹将专门包含使我的脚本工作的模块?是否有标准文件夹或找出它是哪个文件夹的方法?另外,您的代码将适用于文档,而 php.ini 包含路径适用于所有文档?这是否意味着如果模块没有被广泛使用,你的方法是最有效的?
    • 路径通常是/usr/lib/pear
    • 该路径不存在,但 /usr/lib/php/PEAR 存在,当我使用它时出现致命错误:允许的内存大小为 268435456 字节用尽(尝试分配 426942704 字节)在未知第 0 行
    • 看看这里,stackoverflow.com/questions/2186951/… 并尝试删除 include 'HTTP_Download.php' 以及不看看它是否是模块!
    【解决方案2】:

    您的 PEAR 包将安装到您的 php_dir 设置中,如

    所示
     $ pear config-show  | grep php_dir
    

    更改您的 include_path 以包含该目录,它应该适合您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 2015-02-03
      • 2021-07-04
      • 2020-05-30
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多