2015-06-24 3 views
0

Я использую GoDaddy для хостинга, и я использовал их CPanel для установки нескольких пакетов PEAR.PHP PEAR include_path: доступ к пакетам, установленным в CPanel

Я скопировал и ввел в код изменения пути включения, который рекомендует 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>"; 
} 
?> 

Результирующего выход будет показывать только системные модули установлены и не мои установленные расширения груши или приложения.

Есть ли GoDaddy/CPanel с неправильным включением пути?

+0

Не знаете, как это работает на общем хостинге, но на моем локальном сервере, когда я вношу такие изменения, я обычно также перезапускаю свой веб-сервер. –

ответ

0

Проверка PEAR_Registry будет работать только для пакетов PEAR, которые были установлены в систему с помощью установщика PEAR - он не будет загружать пакеты, которые были просто скопированы в какой-либо каталог, выбранный в пути include.

Код для проверки наличия этих пакетов должен будет сканировать каталоги для классов/файлов, которые не подхватили ваш код проверки PEAR_Registry и определить, к каким пакетам они принадлежат.

Смежные вопросы