PHP PEAR include_path:访问安装在CPanel中的包


PHP PEAR include_path: Accessing packages installed in CPanel

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

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

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

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

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

此外,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是否给出了错误的包含路径?

PEAR_Registry检查只适用于通过PEAR安装程序安装到系统中的PEAR包,它不会拾取简单复制到include路径中拾取的某个目录中的包。

检查这些包是否存在的代码需要扫描目录中没有拾取的类/文件。您的PEAR_Registry检查代码并确定它们属于哪些包。