Более красивые сообщения об ошибках — КиберПедия 

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

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Более красивые сообщения об ошибках

2022-10-27 18
Более красивые сообщения об ошибках 0.00 из 5.00 0 оценок
Заказать работу

 

xdebug также улучшает отображение ошибок в PHP автоматически отображая стек вызовов рядом с каждым сообщением об ошибке или предупреждением. Это список вызовов отображает историю вызова функций до момента возникновения сообщения об ошибке. В то время как программы на PHP становятся все более и более объектно-ориентированными, ошибки чаще всего случаются глубоко внутри библиотек. Список вызовов позволит вам быстро найти тот кусочек кода, в котором произошла ошибка, и откуда этот кусочек был вызван.

С версии 5.0 в PHP появилась функция debug_print_backtrace(), которая отображает список вызовов функций, но вы не можете вызвать эту функцию явно, всякий раз когда возникнет ошибка, что означает необходимость создания своего обработчика ошибок. Список вызовов, созданный xdebug, легко читаем в отличие от вывода функций PHP.

Подобно PHP, xdebug выводит ошибки только тогда, когда параметр display_erorrs установлен в On в php.ini.

Посмотрите на этот список вызовов, вы увидите, что сначала была вызвана функция foo(), затем bar(), затем baz(). В дополнение к именам вызываемых функций и места нахождения в исходном коде, xdebug выводит время и количество памяти используемые скриптом в момент вызова этих функций.

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

xdebug.show_local_vars=1

 

в php.ini. Вы также можете использовать ini_set.

Итак, параметры php.in xdebug.var_display_max_data, debug.var_display_max_children и xdebug.var_display_max_depth, которые мы использовали выше для форматирования вывода команды var_dump() также влияют на формат вывода ошибок.

С помощью параметра xdebug.collect_params, вы можете настроить вывод информации о параметрах, которые передаются в функции. xdebug.collect_params имеет числовое значение: 0 – значит отсутствие информации, а 4 означает отображение названий переменных и полной информации по всем параметрам функций. Также доступны значения от 1 до 3, означающие различную детализацию в выводе отладочной информации.

Здесь приведена конфигурация используемая для вывода скриншота:

xdebug.show_local_vars=On

xdebug.dump.SERVER=HTTP_HOST, SERVER_NAME

xdebug.dump_globals=On

xdebug.collect_params=4

 

Обратите внимание, что чем больше информации вы просите собрать для вас xdebug, тем больше памяти он будет потреблять, и тем больше будет время выполнения. Проверьте, что используете xdebug только для разработки, а не на боевых серверах. Неправильно использовать сообщения об ошибках в формате HTML на боевых серверах, не есть хорошо выводить информацию по логину и паролю к БД в том случае, если у вас не определена переменная J.

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

xdebug.dump_once=Off

 

Обращаю внимание на то, что расширенный вывод сообщений об ошибках не работает, если вы определили собственный обработчик ошибок, используя register_error_handler(), все происходит из-за то, что xdebug использует тот же внутренний механизм. Если же вы хотите использовать собственный обработчик ошибок вы можете воспользоваться функцией xdebug_get_function_stack() для вывода списка вызова функций.

Объектно-ориентированный подход использует исключения. Так как исключения это не ошибки, xdebug не выводит список вызовов, если случилось исключение, за исключением тех случаев, когда такое исключение не перехватывается. Неперехваченное исключение это фатальная ошибка. Для того чтобы видеть вызов функций во время появления исключений используйте

xdebug.show_exception_trace=On

 

 

Лимит рекурсии

 

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

xdebug предотвращает бесконечную рекурсию останавливая скрипт на предопределенном шаге. В принципе это есть ограничение размера стека вызовов. Значение по умолчанию данного параметра 100, и эта возможность включена по умолчанию. Вы можете изменить настройку, если ваша программа подразумевает более глубокую рекурсию.

xdebug.max_nesting_level=

Однако xdebug не предотвращает бесконечные циклы for, while и похожие на ни, так как они не увеличивают стек вызовов. В дополнение вы можете использовать счетчик внутри каждого цикла и убивать скрипт всякий раз, когда значение счетчика превысит допустимую цифру. Я советую использовать данный подход на боевых серверах, потому что там не должно быть бесконечных циклов.

Заключение

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

Создание виртуальных хостов

Первым делом нам надо создать папки, где мы и будем хранить файлы будущего сайта. Для этого заходим в диск D:/ и создаем в нем папку, назовем ее: work, внутри этой директории создаем еще три папки под названием, например: home, home1, home2, в каждой папке создаем директорию (папку) www. Думаю вы уловили мысль, где будут находиться файлы сайта - это последняя папка www.

Теперь необходимо настроить сервер Apache. Для начала отключаем его. После отключения сервера, проследуем по пути C:\xampp\apache\conf, находим файл под названием httpd.conf - это главный конфигурационный файл веб - сервера Apache, его мы и будем настраивать.

ServerRoot, это поле должно выглядить так: ServerRoot "C:/xampp/apache"

 ServerAdmin, это поле должно выглядить так: ServerAdmin admin@localhost

 ServerName, это поле должно выглядить так: ServerName localhost:80

DocumentRoot, это поле должно выглядить так: DocumentRoot "D:/work/"

Теперь нам потребуется найти директиву

 

<Directory />

и изменить ее таким образом:

 

 

<Directory />

Options FollowSymLinks Includes Indexes

AllowOverride None

</Directory>

или

<Directory "D:/work/home/www">

Options Indexes FollowSymLinks Includes ExecCGI

AllowOverride All

Order allow,deny

Allow from all

</Directory>

Теперь откроем доступ к каталогу

 

DocumentRoot

изменив директиву:

 

<Directory "C:xampphtdocs"> заменяем на <Directory "D:/work/">

После этих не хитрых изменений опускаемся в самый низ файла httpd.conf. Нам необходимо указать нашему серверу адреса локальных хостов, логов сервера. Для этого пишем следующий код:

 

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>

 ServerName localhost

 DocumentRoot "C:/xampp/htdocs"

</VirtualHost>

#

# home

#

<VirtualHost 127.0.0.1:80>

 ServerAdmin admin@localhost

 ServerName home

 DocumentRoot "D:/work/home/www"

ServerAlias home.ru

 ErrorLog D:/work/home/error.log

 CustomLog D:/work/home/access.log common

</VirtualHost>

#

# home1

#

<VirtualHost 127.0.0.1:80>

 ServerAdmin admin@localhost

 ServerName home1

 DocumentRoot "D:/work/home1/www"

ServerAlias home1.ru

 ErrorLog D:/work/home1/error.log

 CustomLog D:/work/home1/access.log common

</VirtualHost>

#

# home2

#

<VirtualHost 127.0.0.1:80>

ServerAdmin admin@localhost

 ServerName home2

 DocumentRoot "D:/work/home2/www"

 ServerAlias home2.ru

 ErrorLog D:/work/home2/error.log

 CustomLog D:/work/home2/access.log common

</VirtualHost>

Нашему веб - серверу теперь известно, по каким адресам находятся хосты. Для того, чтобы Apache помимо html-файлов обрабатывал и php-файлы, в строку text/html в файле mime.types (C:\xampp\apache\conf\mime.types) следует добавить расширение для файлов, содержащих php-скрипты. Строка должна выглядеть следующим образом: text/html html htm shtml shtm php phtml. На этом конфигурация Apache закончена.

 

Далее нам потребуется указать операционной системе, что наш сервер будет работать локально и хождений в Интернет с его стороны не будет. Для этого запускаем Блокнот Windows от имени Администратора (сделать это надо обязательно, иначе мы не сможем сохранить изменения) и идем по следующему пути:

C:\Windows\System32\drivers\etc. В директории etc находим файл hosts, открываем его и вносим в конце его изменения (перед вами файл hosts от ОС Windows7):

# Copyright (c) 1993-2009 Microsoft Corp.

#

# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.

#

# This file contains the mappings of IP addresses to host names. Each

# entry should be kept on an individual line. The IP address should

# be placed in the first column followed by the corresponding host name.

# The IP address and the host name should be separated by at least one

# space.

#

# Additionally, comments (such as these) may be inserted on individual

# lines or following the machine name denoted by a '#' symbol.

#

# For example:

#

# 102.54.94.97 rhino.acme.com # source server

# 38.25.63.10 x.acme.com # x client host

# localhost name resolution is handled within DNS itself.

# 127.0.0.1 localhost

#::1 localhost

127.0.0.1 localhost

127.0.0.1 home.ru

127.0.0.1 home1.ru

127.0.0.1 home2.ru

После внесения изменений в конфигурацию, необходимо перезапустить Apache из панели управления XAMPP (ярлык на рабочем столе или в трее). Если этого не сделать, то изменения не вступят в силу, не забывайте! Теперь настал момент, проверки работоспособности нашего сервера. Для этого заходим в папку www по адресу: D:\work\home\www. Создаем текстовый документ, с помощью Блокнота Windows. Внутри этого документа записываем следующий код:

<php echo "<h1>Проверка работы локального сервера XAMPP</h1>";?>

Сохраняете файл с расширением .php. В Блокноте Windows, войдите в меню "ФАЙЛ" - "СОХРАНИТЬ КАК..." - тип файла: "ВСЕ ФАЙЛЫ (*.*)" и сохраняем под названием index, конечный вид файла должен быть index.php

Запускаем браузер, в адресной строке набираем home.ru/

 

В окне браузера вы увидите надпись Проверка работы локального сервера XAMPP

 

Если вы увидели эту надпись, то значит все сделали правильно и ваш веб-сервер работает. Для полного счастья нам осталось прикрутить к XAMPP " Заглушку mail ". Как мы говорили раньше, XAMPP, очень функциональный продукт. В нем есть свой почтовый сервер, но настраивать его долго. Проще и значительно удобнее замкнуть отправку почты на локальном компьютере. Такая вещь, просто необходима при отладке скриптов, например, формы обратной связи. Что для этого нам потребуется? Просто немного терпения.

 

Заходим в директорию home по адресу D:\work\home и создаем папку с названием mail. Запускаем Блокнот Windows и записываем в него следующий код:

<?php

define('DIR','D:/work/home/mail/'); //путь к вашей папке mail

$stream = '';

$fp = fopen('php://stdin','r');

while($t=fread($fp,2048))

{

if($t===chr(0))

break;

$stream.= $t;

}

fclose($fp);

$fp = fopen(mkname(),'w');

fwrite($fp,iconv("UTF-8","CP1251",$stream));

fclose($fp);

function mkname($i=0)

{

$fn = DIR.date('Y-m-d_H-i-s_').$i.'.eml';

if (file_exists($fn))

return mkname(++$i);

else return $fn;

}

?>

После чего сохраняем созданный нами файл под названием sendmail.php и отправляем его в директорию XAMPP по адресу C:\xampp\sendmail. Осталось нам подправить конфигурационный файл интерпретатора скриптов php, он называется php.ini и находится по адресу C:\xampp\php. Находим в этом файле (приблизительно строка 700) модуль mail function, ниже (стр.709) ищем строчку sendmail_path = "C:\xampp\sendmail\sendmail.exe -t " она закомментирована, т.е. вначале строки стоит точка с запятой ";", убираем ее. Изменяем строку и делаем ее такого вида sendmail_path = C:\xampp\php\php.exe c:\xampp\sendmail\sendmail.php, сохраняем изменения, перезагружаем сервер. "Заглушка mail" готова.

 

Давайте проверим работу нашей "заглушки". Скопируйте в файл, приведенный ниже код. Это код простейшей формы отправки связи. Сохраните его в D:\work\home\www под названием, например, form_mail.php (в кодировке utf-8). Запустите браузер и в адресной строке наберите home.ru/form_mail.php, перед вами появится форма, напишите в ней сообщение для себя и отправьте. После этого вы можете зайти в папку mail (D:\work\home\mail) и прочитать письмо. Открывать эти письма можно любой программой типа "Блокнот", например, распространяемой вместе с Windows программой, WordPad.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<title>Форма обратной связи</title>

<style type="text/css" media="all">

.table {background-color:#eaebef;border-collapse:collapse;width:450px;border:1px solid silver;font:12px Verdana;}

.header {border-bottom:1px solid silver;text-align:center;color:#27328F;}

i{color:red;}

.left_f {float: left;margin-left: 20px;padding:5px;}

</style>

</head>

<?php function show_form($s="") {if ($s) echo "<b>Ошибка:</b> $s";?>

<body>

<table align="center" class="table">

<tr><td

<div class="header"><h3>ФОРМА ОБРАТНОЙ СВЯЗИ</h3></div>

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">

<div class="left_f"><strong>Ваше имя: <i>*</i></strong>

<input type="text" name="name" size="30" /></div>

<div class="left_f"><strong>Ваш email:<i>*</i></strong>

<input type="text" name="email" size="30" /></div>

<div class="left_f"><strong>Ваш сайт:</strong> &nbsp;&nbsp;&nbsp;

<input type="text" name="domain" size="30" /></div>

<div style="margin-left: 20px;padding-top: 110px;"><strong>Ваше сообщение: <i>*</i></strong></div>

<div style="margin: 5px; text-align: center;"><textarea cols="50" rows="5" name="message"></textarea>

<input type="hidden" name="a" value="1" /></div>

   <div align="center"><input type="submit" value="Отправить вопрос" /></div>

<div align="center" style="font:11px Verdana;">Поля, отмеченные звездочкой (<i>*</i>) должны быть заполнены.</div>

</form></td></tr></table>

</body>

</html>

<?php

exit();};

// если не было добавления сообщения, выводим форму

if (!$_POST['a']) show_form();

// проверяем данные формы

if (!$_POST['name']) show_form("Укажите Ваше имя!");

if (!$_POST['email']) show_form("Укажите Ваш email!");

if (!$_POST['message']) show_form("Вы не заполнили текст сообщения!");

// описываем переменные и rfc заголовки письма

// обратный адрес будет указанным адресом отправителя сообщения

$from = $_POST['email'];

$recipients = "[email protected]"; // Ваш email

$subject="Тема письма";

$body=$_POST['message'];

$headers = "content-type: text/plain; charset='utf-8'"; // кодировка сообщения

if(strpos($_SERVER['SERVER_SOFTWARE'], '(Win32)')===FALSE)

{

// отправляем письмо

$mail = popen("/usr/sbin/sendmail -i -f$from -- $recipients", 'w');

$text_headers = "from: $fromnsubject: $subject".$headers;

fputs($mail, $text_headers);

fputs($mail, "n");

fputs($mail, $body);

// проверяем на ошибку

$result = pclose($mail) >> 8 & 0xff;

}

else $result=(mail($recipients, $subject, $body, "from: ".$from."rn".$headers)? FALSE: TRUE);

if ($result) echo "Сообщение не было отправлено!";

else echo "Спасибо, Ваше сообщение отправлено. Перейдите в папку "mail" и прочитайте письмо!";?>

Индексный файл

Индексный файл или файл-индекс это тот файл, который открывается по умолчанию при обращении пользователя через веб к каталогу, а не к конкретному файлу. Например, ваш посетитель запросит адрес http://ваш_домен/catalogue/, где catalogue — название каталога. Индексный файл это тот файл, который будет показан пользователю при обращении к каталогу без указании имени конкретного файла в нем.

 

По умолчанию индексными файлами являются следующие: index.html, index.htm, index.php, index.php3, index.phtml, index.shtml, default.htm или default.html. Если вы хотите чтобы первым открывался какой-то иной файл, нужно переопределить текущие значения.

Назначение и использование файла.htaccess

Файл .htaccess (первый символ в названии файла — точка) применяется для управления веб-сервером Apache со стороны конечного пользователя хостинга. В этот файл прописываются директивы, которые веб-сервер обрабатывает, выполняя действия в соответствии с установленными настройками.

 

Файл .htaccess может быть размещен в корневом каталоге веб-сервера (прямо в каталоге www). В этом случае директивы из такого.htaccess действуют по всему веб-серверу. Также .htaccess может находиться и в конкретном подкаталоге сервера. Тогда директивы, которые указаны в этом файле, «перекрывают» действие директив из «основного» файла, который размещен в каталоге www или в любом каталоге более высокого уровня. То есть, действие директив из.htaccess наследуется сверху вниз, но не наоборот. Изменения, внесенные в файл, вступают в силу немедленно. Это связано с тем, что информация из .htaccess перечитывается при каждом обращении к веб-серверу Apache.

 

В .htaccess может быть помещено большинство из доступных директив для веб-сервера. Следует заметить, что директивы, в описании которых в поле Context отсутствует упоминание .htaccess недоступны для использования в этом файле конфигурации. На примере директивы AddType видим, что поле Context содержит упоминание о .htaccess, соответственно вы можете ее использовать:

 

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

Пример: как переопределить кодировку html-документов

Мы хотим «объяснить» веб-серверу что все html-документы, которые размещены на сервере, нужно «отдавать» клиенту в кодировке koi8-r, а не в windows-1251, как это сервер делает по умолчанию. Для этого поместим в.htaccess строку: AddType "text/html; charset=koi8-r".html.htm.shtml

 

Получив такой .htaccess, веб-сервер Apache станет выдавать клиентскому браузеру заголовок, в котором будет указано, что документ имеет кодировку koi8-r.

 

Если на вашем ресурсе существуют html-документы в разных кодировках, (ISO-8859-1, Windows-1250, Windows-1252, UTF-8), то вам, возможно, будет необходимо отключить принудительну выдачу заголовка с кодировкой windows-1251. Для этого в.htaccess добавляется строка: AddDefaultCharset Off

 

При этом соответствующая кодировка должна быть прописана на каждой html-странице в виде тега <http-equiv=»Content-type» content=»text/html; charset=windows-1251″ />

 

Это примеры простейшего использования возможностей конфигурирования Apache через файл .htaccess.

Пример: как закрыть директорию паролем

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

 

В каталоге, к которому хотим ограничить доступ по паролю, создаем файл .htaccess с такими директивами:

 

AuthType Basic

AuthName "Some Name"

AuthUserFile /home/uXXXXX/.htpasswd

require valid-user

Путь /home/uXXXXX/.htpasswd обозначает полный путь к файлу паролей на диске нашего сервера. Если, например, вы поместите файл .htpasswd (в нем будут пароли) в домашний каталог, куда вы попадаете зайдя на сервер по FTP, то путь к этому файлу будет иметь вид /home/uXXXXX/.htpasswd, где uXXXXX — наименование вашей виртуальной площадки (например, u12345).

 

В директиве AuthUserFile указываем абсолютный путь к файлу с логинами/паролями, который мы создадим чуть позже. Если вы создаете файл .htaccess на своем компьютере, а не сразу на сервере при помощи текстового редактора, обратите внимание на то, что.htaccess должен передаваться по FTP строго в текстовом (ASCII) режиме.

 

Создаем файл паролей. Файл с паролями должен содержать строки вида login:password. Пароль должен быть зашифрован с использованием алгоритма MD5. Один из способов создать такой файл — воспользоваться программой, входящей в поставку Apache — htpasswd (на нашем сервере она находится в каталоге /usr/local/bin/, полный путь — /usr/local/bin/htpasswd).

 

Рассмотрим как создать файл паролей в unix shell прямо на сервере. Зайдем в shell, и будем выполнять следующие команды:

 

* htpasswd -mbc.htpasswd user1 sNQ7j9oR2w создаем новый файл .htpasswd, в который добавляем запись для пользователя user1 с паролем, указанным в командной строке. Просьба обязательно заменить sNQ7j9oR2w на любой собственный пароль — здесь этот пароль указан только для примера

* htpasswd.htpasswd user2 добавляем в уже существующий файл .htpasswd пользователя user2, а пароль вводим вручную в ответ на соответствующий запрос программы

 

Если вы используете Windows и не хотите пользоваться unix shell для генерации паролей, можно загрузить Windows-версию программы htpasswd здесь и создать файл с паролями на своем компьютере, после чего загрузить его на сервер. Если у вас уже установлена Windows-версия Apache, файл htpasswd.exe можно найти в каталоге Program Files\Apache Group\Apache\bin\.

 

Итак, получите htpasswd.exe и используйте его для генерации паролей таким образом:

 

* htpasswd.exe -mc.htpasswd user1 создаем новый файл паролей htpasswd.exe, пароль и его подтверждение будут запрошены интерактивно

* htpasswd.exe -m.htpasswd user2 добавляем пользователя user2 в существующий файл паролей htpasswd.exe, запросив пароль интерактивно

 

После окончания заведения всех логинов файл нужно загрузить на сервер.

Пример: переопределение индексного файла

Ситуация: пользователь обратился к каталогу http://www.ваш_домен.ru/price/. При таком запросе первым откроется и будет показан индексный файл. Если вы хотите переопределить индексный файл и сделать так, чтобы первым открывался не index.htm, а, например, файл myindex.php, то сделать это можно поместив в файл .htaccess в соответствующем каталоге следующую инструкцию: DirectoryIndex myindex.php

 

Получив.htaccess с таким содержимым, веб-сервер Apache откроет по умолчанию именно файл myindex.php.

 

Пример: запрет и разрешение выдачи листинга

 

В ряде случаев требуется выводить список файлов в каталоге (листинг каталога) в случае отсутствия в каталоге файла, который показывается по умолчанию. Для этого необходимо добавить в.htaccess следующую строку:

 

Options +Indexes

 

Файл .htaccess необходимо создавать именно в том каталоге, в котором планируется разрешить листинг. Данная директива будет действовать также и на все подкаталоги (это достигается включенной по умолчанию в настройках виртуального хоста директивой AllowOverride All).

 

По умолчанию включена директива Options -Indexes, и в случае отсутствия индексной страницы вы получите HTTP ошибку 403.

Пример: собственные страницы ошибок

 

Выводим наш сервер в интернет.

Например нам надо чтобы он ресолвился по имени.

Тогда нужно в локальной сети поднять DNS c указателем на адрес хоста.

Чтобы настроить удаленный доступ к серверу для определенных компьютеров нам нужно на всех компьютерах которые должны получить к нему доступ в файлике hosts добавить строки вида:

192.168.0.115 mycoolsite.ru

где соответственно IP хоста и имя по которому он будет ресолвиться.

А чтобы наш сервер виделся из интернета — нужно пробросить 80 порт на маршрутизаторе, соответствено маршрутизатор должен иметь DNS -имя (можно использовать DynDNS для динамических адресов)

Или пробросить с роутера 80 -й порт на компьютер с сервером. На роутере соответственно должен быть видимый из интернета IP адрес.

Если наш сервер по прежнему не виден из интернета то не видится он скорее всего потому что апач не слушает на этом ip адресе сеть. точно не помню есть ли в xampp такая педаль, но надо либо httpd.conf править или прямо в интерфейсе это включается/выключается в админке у Xampp. (что то типа Put online)

в W amp как раз в меню есть пункт, включающий видимость извне. делает он это скриптом, который берет и измненяет в httpd.conf в параметрах docroot права на папку:

 

<Directory «c:/wamp22/www/»>

Для видимости:

# onlineoffline tag — don't remove

Order Allow,Deny

Allow from all

Для невидимости такие строки:

Order Deny,Allow

Deny from all

Allow from 127.0.0.1";

Тогда сразу можно заходить на локальный IP адрес компьютера где сайт лежит и откроется страничка.


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.231 с.