Получить корень документа Apache из командной строки (без браузера)

Не уверен, что заголовок правильный. Пожалуйста, отредактируйте, если вы думаете о лучшем.

У меня есть служба XMLRPC, которую я вызываю из командной строки. Он использует Zend framework.

клиент выглядит так:

$ server = new Zend_XmlRpc_Client ('http: //hostname/path/to/xmlrpc.server.php');

Файл находится:

/var/www/html/path/to/xmlrpc.server.php

У меня есть сейчас он жестко закодирован, но хотел заполнить «путь / к /» в целом.

Я пробовал:

function url(){
  $protocol = $_SERVER['HTTPS'] ? "https" : "http";
  return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
}

echo url();

Примечание. Ни один из параметров $ _SERVER не вернул то, что мне было нужно

, но выполнение этого из командной строки дает мне:

http://

Также getcwd () дают я:

 /var/www/html/path/to

Как я могу получить:

http://path/to

Есть какие-нибудь мысли?

Причина, по которой я хотел бы это, в том, что проекту нужно изменить каталоги, он должен автоматически настраиваться. Пример:

Если я перенесу проект сюда:

/var/www/html/path/to/another/location

или сюда:

/var/www/public_html/path/to/another/location

или даже сюда:

/path/to/document/root/path/to/another/location

я должен получить:

http://hostname/path/to/another/location

Спасибо за любую помощь

ОБНОВЛЕНИЕ:

Я пробовал это но все еще не работает должным образом:

$hostname = `hostname`;
echo 'http://'.trim($hostname).'/'.basename(getcwd())."\n";
10
задан Phill Pafford 5 December 2011 в 21:09
поделиться