Не уверен, что заголовок правильный. Пожалуйста, отредактируйте, если вы думаете о лучшем.
У меня есть служба 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";