Для каждого php-приложения очень желательно жестко настроить локаль, чтобы не зависеть от настроек сервера. Иначе, по "закону подлости" - в самый неподходящий момент могут возникнуть проблемы с отображением данных. Причем, "артефакты" могут вылезти не только после переезда/миграции на другой сервер, но и даже как будто вообще без причины.
Как раз подобный случай и произошел недавно с одним web-сервисом, реализованным на PHP.
Один из скриптов отображал в интерфейсе приложения срок действия базы данных (совпадает с циклами AIRAC), и администратор этого сервиса заметил странную штуку: срок действия февральской базы данных - цикл 2102 имел весьма странный срок действия - с 25 января 2021 по 25 января 2021, хотя должен был иметь срок действия с 25 февраля 2021 по 25 марта 2021.
Различные проверки и эксперименты с PHP-скриптом показали, что он выдает дату в формате, у которого сокращенное название месяца выводится на русском языке: 2021-Фев-25 и 2021-Мар-25. А приложение, которое использует данные API, совсем не понимает по-русски, ему необходимо давать всё на английском языке! Соответственно, оно не понимало, какой ему передается месяц и правращало его по умолчанию в первый месяц года.
Причину данного сбоя выяснить не удалось, миграция сервиса точно не выполнялась :), проводились ли какие-то работы на сервере - пока узнать не получилось. Наиболее вероятно, что системный администратор сервера изменил язык сервера по умолчанию на русский. Поэтому была выполнена настройка локали для PHP с указанием английского языка. В PHP-скрипт была добавлена строка:
setlocale(LC_ALL, 'en_US', 'en_US.UTF8', 'en', 'english');
Можно было добавить в сокращенном виде:
setlocale(LC_TIME, "en_US.UTF-8");
Важно: не перепутать и корректно указать индекс языка - английских языков несколько, не стоит писать en_En (нет такой локализации!), есть: en_Gb, en_Us, en_Au, en_Bz, en_Ca, en_Ie, en_Jm, en_Nz, en_Za, en_Tt.
Вместо глобальной настройки LC_ALL можно указать отдельный параметр, на которые будет влиять локаль:
Часовой пояс Москвы (UTC + 3):
date_default_timezone_set('Europe/Moscow');
Часовой пояс UTC:
date_default_timezone_set('GMT');
Все варианты временных зон - на сайте php.net.
В сети интернет есть несколько сервисов, которые могут сообщить IP-адрес сайта. Зачастую, эти сайты кроме ввода имени домена требуют ввести капчу, иногда имя и адрес электронной почты... - вот такая бюрократия! Для того, чтобы определить IP-адрес DNS-сервера, к которому относится сайт, точнее его доменное имя, и без ввода всяких дополнительных даных, существует несколько способов. Самый простой - это через...
Федеральное управление гражданской авиации США (Federal Aviation Administration, FAA) разрешило пилотам авиакомпании American Airlines использовать в полете планшеты iPad для просмотра электронных карт и чтения летной документации. Разрешение вступает в силу в пятницу, 16 декабря 2011 г. Сначала планшеты будут применяться на Boeing 777, а потом и на других типах самолетов из флота American...
Компания, столь известная в мире, названа в честь своего основателя - Элри Бергера Джеппесена (Elrey Berger Jeppesen). Его имя навсегда останется в истории мировой авиации. Этот человек не только создал новый вид авиационного производства - обеспечение документами аэронавигационной информации, но и заложил основу для разработки стандартов построения схем захода на посадку по приборам. Элри...
Какой формат видео поддерживает iPad? На данный момент (лето 2013 года) планшеты iPad поддерживают только 2 формата видеофайлов: 1. MPEG (файлы с расширением *.mp4 и *.m4v) 2. Qick Time (файлы с расширением *.mov) Все другие форматы iPad не поддерживает, и для их просмотра на яблочном планшете необходима конвертация с помощью специальной программы или установка на iPad отдельного приложения для просмотра...
Все автомобильные GPS-навигаторы имеют меню с достаточного размера кнопками на сенсорном экране для выстрого запуска необходимых приложений, в первую очередь - программы для непосредственной навигации. Многие современные навигаторы имеют возможность менять путь к навигационной программе. Поэтому при установке альтернативного ПО есть возможность безболезненно через настройки меню задать временно или...
Иногда бывает необходимо повернуть экран компьютера на 90° или 180°. Например, когда нужно сделать скриншоты относительно длинной web-страницы - чтобы не нужно было потом картинки склеивать в графическом редакторе. Ведь чаще всего даже уменьшение масштаба отображения страницы сайта (нажать клавишу CTRL и покрутить колесо мыши или кнопками изменения масштаба в браузере) не достаточно, чтобы вся...
Программа Jeppesen Mobile TC является первым коммерческим аэронавигационным продуктом от фирмы Jeppesen для iPad. Программа включает в ребя 2 раздела: схемы аэродромов (кроки, заход на посадку, SID, STAR и др.) и текстовая часть сборников Jeppesen (ATC, Airport Directory, Meteorology и др...). В 2011 году Jeppesen анонсировал следующую программу - Jeppesen Mobile Flite Deck (Jepp Mobile FD),...