【问题标题】:PHP PEAR include_path: Accessing packages installed in CPanelPHP PEAR include_path:访问安装在 CPanel 中的包
【发布时间】:2015-09-10 18:49:11
【问题描述】:

我正在使用 GoDaddy 进行托管,并且我使用他们的 CPanel 安装了许多 PEAR 包。

我已复制并粘贴到 CPanel 在我的 PHP 文件中推荐的包含路径修改代码中。这是代码(其中用户名替换为我的用户名):

ini_set("include_path", '/home/username/php:' . ini_get("include_path") );

但是,当我运行 PEAR 包检查时,它只会找到系统安装的模块,而不是我添加的包。

我已通过文件管理器确认软件包和相关文件已安装到文件夹中。

此外,GoDaddy/CPanel 报告软件包已成功安装。

这是我的包裹检查代码:

<?php 
ini_set("include_path", '/home/username/php:' . ini_get("include_path") );

echo ini_get("include_path")."<br>";

require_once 'System.php';
var_dump(class_exists('System', false));
echo "<br>";

include 'PEAR/Registry.php';

$reg = new PEAR_Registry;
foreach ($reg->listPackages() as $package) {
    print "$package<br>";
}
?> 

结果输出将只显示系统安装的模块,而不是我安装的 PEAR 扩展或应用程序。

是否给 GoDaddy/CPanel 提供了不正确的包含路径?

【问题讨论】:

  • 不确定它在共享主机中是如何工作的,但是在我的本地服务器中,当我进行这样的更改时,我通常也会重新启动我的网络服务器。

标签: php cpanel pear


【解决方案1】:

PEAR_Registry 检查仅适用于已通过 PEAR 安装程序安装到系统的 PEAR 包 - 它不会选择简单复制到包含路径中选择的某个目录的包。

检查这些包是否存在的代码需要扫描目录以查找未获取 PEAR_Registry 检查代码的类/文件,并确定它们属于哪些包。

【讨论】:

    猜你喜欢
    • 2012-08-14
    • 2023-03-20
    • 2020-11-02
    • 1970-01-01
    • 2011-07-02
    • 2011-12-09
    • 2018-04-27
    • 1970-01-01
    • 2018-09-06
    相关资源
    最近更新 更多