我正在使用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是否包含错误的包含路径?
答案 0 :(得分:0)
PEAR_Registry检查仅适用于已通过PEAR安装程序安装到系统的PEAR包 - 它不会获取只是复制到包含路径中拾取的某个目录的包。
检查是否存在这些软件包的代码需要扫描目录中没有获取PEAR_Registry检查代码的类/文件,并确定它们属于哪些软件包。