система онлайн-бронирования
г. Донецк, Украина, ул. Артёма, 87
+38 (062) 332 33 32, 332-27-71
ЗАБРОНИРОВАТЬ
НОМЕР

Статьи

Памылка карты сайта ў Joomla - 500 Internal Server Error

Усталяваў на сайт. Наладзіў дадзены кампанент у адміністрацыйнай панэлі Joomla 3.8. Якое ж было маё здзіўленне, калі пры кліку па спасылцы [XML Sitemap] замест карты сайта адкрылася старонка з памылкай 500 Internal Server Error.

Якое ж было маё здзіўленне, калі пры кліку па спасылцы [XML Sitemap] замест карты сайта адкрылася старонка з памылкай 500 Internal Server Error

Дапамагла тэма на. Прычына была ў лішняй радку ў кампаненце карты.
У файле "components / com_xmap / helpers / xmap.php" у радку 12 бачым запіс:
require_once (JPATH_SITE. '/ includes / application.php');
Калі закаментаваць гэты радок то кампанент заводзіцца.

Але, давайце разбярэмся, што мы адключылі дадзенай запісам, і за што адказвае канструкцыя require_once?

require_once - канструкцыя аднакратных уключэнняў.

У вялікіх PHP сцэнарах інструкцыі require прымяняюцца даволі часта. Таму становіцца даволі складана кантраляваць, як бы выпадкова не ўключыць адзін і той жа файл некалькі разоў, што часцей за ўсё прыводзіць да памылкі, якую складана выявіць.
У PHP прадугледжана рашэнне дадзенай праблемы. Выкарыстоўваючы канструкцыю аднакратнага ўключэння require_once можна быць упэўненым, што адзін файл не будзе ўключаны двойчы. Працуе канструкцыя аднакратнага ўключэння require_once гэтак жа, як і require. Розніца ў яе працы толькі ў тым, што перад уключэннем файла інтэрпрэтатар правярае, ці ўключаны правераны файл раней ці не. Калі так, то файл не будзе ўключаны зноў.
Канструкцыя аднакратнага ўключэння require_once дазваляе ўключаць выдаленыя файлы, калі такая магчымасць ўключана ў канфігурацыйным файле PHP.

Ўключэнне аддаленых файлаў

PHP дазваляе працаваць з аб'ектамі URL, як са звычайнымі файламі. Упакоўшчыкі, даступныя па змаўчанні, служаць для працы з выдаленымі файламі з выкарыстаннем пратаколу ftp або http.
Калі "URL fopen-абалонкі" уключаны ў PHP (як у канфігурацыі па змаўчанні), вы можаце спецыфікаваных файл, які падключаецца з выкарыстаннем URL (праз HTTP), замест лакальнага шляху. Калі мэтавай сервер інтэрпрэтуе мэтавай файл як PHP-код, зменныя могуць перадавацца ў падключаецца файл з выкарыстаннем URL-радкі запыту, як у HTTP GET. Строга кажучы, гэта не тое ж самае, што падключэнне файла і ўспадкоўванне ім вобласці бачнасці зменных бацькоўскага файла; бо скрыпт працуе на выдаленым серверы, а вынік затым падключаецца ў лакальны скрыпт.
Для таго, каб выдаленае уключэнне файлаў было даступна, неабходна ў канфігурацыйным файле (php.ini) усталяваць allow_url_fopen = 1.
Звярніце ўвагу: Версіі PHP для Windows да PHP 4.3.0 не падтрымліваюць магчымасць выкарыстання аддаленых файлаў гэтай функцыяй нават у тым выпадку, калі опцыя allow_url_fopen ўключана.

Ці ўсталёўваць наладу allow_url_fopen = 1, ці проста закаментаваць 12-ы радок у файле "components / com_xmap / helpers / xmap.php" - вырашаць Вам. Я не стаў эксперыментаваць з наладамі PHP і прыбраў require_once (JPATH_SITE. '/ Includes / application.php'); з кода кампанента.

У наступным артыкуле я апісаў працэс стварэння пункта меню ў выглядзе шрыфтавы абразкі.

На гэтым сёння ўсё. Поспехаў Вам у распрацоўцы.

Але, давайце разбярэмся, што мы адключылі дадзенай запісам, і за што адказвае канструкцыя require_once?

Новости

Отель «Централь» Официальный сайт 83001, Украина, г. Донецк, ул. Артема, 87
Тел.: +38 062 332-33-32, 332-27-71
[email protected]
TravelLine: Аналитика


Студия web-дизайна Stoff.in © 2008