МУЗЕЙ ТЕХНИКИ APPLEПервый музей Apple в Москве, создан в 2012 году. Перейти на сайт музея. Перейти… |
Переход на платформу хостинг-провайдера REG.ruСодержаниеРешил возродить свой старый интернет проект (miniXpress.ru). Мой предыдущий хостер (хостинг-провайдер) был продан REG.ru и мой личный кабинет перешёл к ним. Проект стоял на паузе более 4-х лет. Я, конечно, допускал, что перенос сайта на ресурсы другого хостера может не быть безболезненным, но я и предположить не мог, что меня ждёт так много неприятностей. Для опытного IT’шника это, возможно, пара пустяков, но я регистрирую домены и заливаю сайты, мягко говоря, не каждый день, а вернее делал это всего один раз и то было 7 лет назад. В принципе, выбрать хостинг тариф, имена сайтам и оплатить – всё это оказалось не сложно. Сайт у REG.ru удобный и понятный, всё под рукой. Для неуверенных в себе, типа меня, имеются многочисленные подсказки и инструкции. После оплаты на почту стали приходить многочисленные письма. Я решил, что всё готово и ринулся в бой. У предыдущего провайдера я заливал сайт через фтп-клиента. Настроил доступ через Total Commander и аля-гоп. Разбираться в других вариантах доступа не хотелось. К своему удивлению паролей доступа на фтп в почте я не обнаружил. Начал нервничать и искать контакты службы поддержки. Почему-то их не оказалось под рукой. Зашёл в личный кабинет и стал изучать его возможности. Пока тыкался по вкладкам пароль обнаружился. Оказывается, не нужно было спешить. После оплаты желательно подождать некоторое время пока всё активируется. На это требуется минимум пол часа, гарантировано час. Пароли оказались доступны в личном кабинете. Это пароль доступа к панели управления хостингом, доступ к FTP и доступ к MySQL. Через панель управления хостингом я вошёл в phpMyAdmin. Со своего локального сервера (у меня XAMMP) экспортировал базу. Первоначально попробовал экспортировать все базы одномоментно, но в хостинг этот файл не получилось импортировать. Затем экспортировал одну базу (не таблицу, а именно базу со множеством таблиц) и всё получилось. К слову сказать, для одного проекта (сайта) у меня одна база. Затем по FTP залил сайт. Изначально свой первый проект я делал без баз. Но постепенно он развивался и вот уже даже начальная страница требует подключения к базе, чтобы правильно отображаться. Я знал, что сразу после заливки не заработает, но всё оказалось намного хуже. Забегая вперед, скажу, что я столкнулся сразу с двумя или даже с тремя проблемами, которые выстрелили одновременно:
Подключение к базеВ интернете много статей, посвящённых этому вопросу, но для меня, как новичка, остаётся непонятным что и куда вставлять. Хостинг-провайдер прислал следующий пароль доступа (рис. 1). Важно знать, что этих данных достаточно (ну почти) и ничего более не нужно. Когда у меня не получилось я стал что-то химичить с панелью управления хостингом и в phpMyAdmin, а это было вредным. Подключение к базе MySQL делается вызовом операторов с соответствующими параметрами. Для пущей наглядности я сделал это в 2-х вариантах, используя данные, присланные хостером. или И выбор конкретной базы. Имя базы по умолчанию – это то, что находится в phpMyAdmin (рис. 2). Когда я импортировал свою базу, то она прописалась с именем 'u12345_xpertpress': или Однако мне не повезло. Все мои танцы с бубном и хождение за три моря по просторам интернета результата не принесли. Я начинал унывать. Но вдруг обратил внимание на упоминание в поисковой выдаче некоего MySQLi. Improved – улучшенный. А по-моему – hemorrhoIds, от слова геморрой. Ну зачем улучшать то, что и так хорошо работает? И ладно бы выбор бы был, но нет, хостер REG.ru не поддерживает MySQL, а поддерживает только MySQLi. Надеюсь, что моё маленькое открытие сэкономит вам время и нервы. В MySQLi всё выглядит лаконичней: или К моей радости мой локальный сервер XAMMP поддерживает MySQLi и мне не пришлось разделять код для локального сервера и хостинга, либо переустанавливать локальный сервер. Однако одна особенность есть. Если база подключена через функции MySQLi, то MySQL функции уже работать не будут. В принципе, за небольшим исключением, функции MySQL и MySQLi похожи и замена кода не превратилась в ад. Первый этап пройден, база подключена, однако, абракадабра не исчезла. Борьба с абракадаброй вместо русского текстаЯndex-поиск мне в помощь. Абракадабра проблема не новая и люди научились с ней бороться. Опущу этапы борьбы, перейду сразу к сути – необходимо
все файлы php, htm, html, txt и другие, т.е. ВСЕ текстовые файлы перевести в кодовую страницу UTF-8 без BOM (т.е. с выключенным BOM).
BOM важно выключить, я сперва не выключил, т.к. не заметил разницы, но если BOM не отключить, то не будет работать функция session_start(). Выдохнул, вроде работает. Остались, конечно, мелкие глюки, но это цветочки, исправим. Но радоваться случилось не долго… «Warning: session_start(): Cannot start session when headers already sent in …»Функцию session_start() я включил в свой проект, когда задумался о создании регистрации на сайте. Это наиболее простой способ создавать и передавать переменные из одной страницы в другие в рамках одного пользователя (одного компьютера). И на предыдущем хосте и на локальном сервере (напомню у меня установлен XAMMP) всё работало. А на проекте REG.ru такая вот оказия – печалька. Для паутины такая проблема не новость, однако, страниц с подробным описанием решения проблемы нашлась всего одна. Автор предлагал не ставить закрывающий тег php «?>», если далее нет html-кода. Иными словами, если файл это php-скрипт, то закрывающий тег не обязателен, а даже вреден. Но это оказался не мой случай. Дальше только форумы. Не то чтобы на форумах пишут ересь, вовсе нет, но там как-то всё предельно сжато, а я ни разу неспециалист в этой области и не то что сленга, но даже терминов не знаю. Но запасаюсь терпением и вперёд. В каком-то смысле мне повезло. Похожий вопрос задавал новичок и просил Гуру отвечать подробней. В общем благодаря этому, а также моим экспериментам, вопрос удалось решить. Во все файлы-страницы сайта пришлось включить код: До этого функция session_start() вызывалась из файла с меню, а этот файл един для всего сайта. Но вызову предшествовал код, а это вызывало ошибку. Также на этом этапе стало ясно, что BOM следует отключать, т.к. с включённым BOM функция session_start() не работает. Важное замечание, которое я понял не сразу этот код должен быть в САМОМ НАЧАЛЕ файла, в том числе и раньше комментариев. Иными словами, сперва этот код, а потом уже комментарии и всё-всё-всё. Пару слов об ssl-сертификатеРегистратор и хост-провайдер REG.ru также предлагает SSL-сертификаты, причём часто в подарок. Вообще сертификаты делятся
на 3-и уровня. DV – проверка домена; OV – проверка компании; EV – расширенная проверка ЮР-лица – зелёная строка в браузере. Как я уже упоминал, REG.ru предлагает SSL-сертификаты в подарок. Следует понимать, что это сертификаты начального уровня, т.е. SSL-сертификаты уровня DV, что тоже неплохо. ИтогТри дня геморроя и сайт снова в строю. Хотя нет, некоторые глюки всё-таки ещё остались и предстоит глубокое тестирование. В принципе, претензий к REG.ru у меня нет: современная платформа; защита; оперативность; большой выбор услуг. Продуманный интерфейс (юзабилити), обилие инструкций и помощи. В итоге, я, делающий это второй раз в жизни, сам во всём разобрался без прибегания (т.е. мне не потребовалась) к службе поддержки. Ещё один приятный сюрприз, сделанная ранее служба рассылки, на новом хосте заработала без переделок, хотя и имя домена сменилось. Короче говоря, REG.ru рекомендую. Воспользуйтесь этим промокодом 754B-3199-0123-0697 и получите скидку на все услуги компании в размере 5%. Обсудить эту статью можно в [Яndex-Дзен] Ключевые слова→хостер↔хостинг провайдер↔reg.ru←Статья опубликована: "27" января 2021 г. Исправлена: "8" июля 2021 г.
Количество просмотров:
1134
|
Гость.
Новинки: |