2013-12-19 4 views
0

Используя PHP, я хотел бы иметь простой файл config.php, который позволяет мне проверить, есть ли я на localhost vs mydomain.com.PHP Изменение корневого пути в зависимости от localhost vs server

К примеру, на 'локальный':

$path = '/' 

Но когда я загрузить на мой сервер ('mydomain.com'), я хотел бы иметь путь быть:

$path = '/testing/ 

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

+0

Хорошая идея! И в чем проблема? – fvu

ответ

4

Вы можете получить ваш текущий сервер запущен с помощью $_SERVER['SERVER_NAME']:

$default_path = ($_SERVER['SERVER_NAME'] == 'localhost') ? '/' : '/testing/'; 

Есть много других переменных в $_SERVER суперглобальном массив, если вы хотите использовать другой вы должны отлаживать его и найти какой из них вы хотите (Я на серверах Amazon, и я получил тонны Amazon конкретных переменных, чтобы выбрать из слишком):

echo '<pre>'; print_r($_SERVER); exit; 

SERVER_NAME является более надежным, чем другие, как HTTP_HOST см this article for details.

1

Возможно, вы можете проверить с помощью $_SERVER['REMOTE_ADDR']. На локальном хосте, заносить бы 127.0.0.1:

if ($_SERVER['REMOTE_ADDR'] === '127.0.0.1') { 
    $path = '/'; 
} else { 
    $path = '/testing/; 
} 

Это не 100% надежным, но работает в большинстве случаев.

0

Я использую, чтобы эта строка в моих файлах конфигурации для этой цели

$isLocal=($_SERVER['REMOTE_ADDR']=="127.0.0.1"); 
Смежные вопросы