MAMP / PHP.INI: "дата.часовой пояс " в phpinfo () показывает "нет значения", даже если значение установлено в php.Ини

приветствую гуру StackOverflow!

вот проблема, с которой я борюсь.

Я запускаю phpinfo () в MAMP, и результирующая таблица показывает "нет значения" в обоих столбцах даты.часовой пояс строки.

кроме того, на странице отображается следующая информация:

предупреждение: функцию phpinfo() [функция.phpinfo]: небезопасно полагаться на настройки часового пояса системы. Ты требуются использовать дату.зону для меня (функции). В случае, если вы использован любой из этих методов и вы по-прежнему получаете это предупреждение, вы, скорее всего, виноваты. Мы выбрали 'America / New_York' для 'EST/-5.0 / no DST' вместо / приложения / MAMP / bin/mamp / phpinfo.в PHP

в THR php.ini-файл, однако, настройка выглядит следующим образом:

дата.часовой пояс = Америка/Нью-Йорк

Я предвижу рекомендацию проверить, что путь к php.ini-это правильно - я уже сделал это, и путь действительно правильный: /Applications/MAMP/conf/php5.3 / php.ini-это файл, в котором задано значение.

Как я могу исправить эту проблему? Что я упускаю?

был бы благодарен за помощь от знающего человека.

6 ответов


если часовой пояс установлен правильно в соответствующем php.файл ini и вы все еще получаете это сообщение, вы можете попробовать установить переменную окружения TZ. Редактировать свои .профиль для добавления следующей строки (sub in your own часовой пояс строка):

export TZ="America/New_York"

Не уверен, почему (a) MAMP переопределяет ваш php.ini setting, (b) PHP не бросает уведомление/предупреждение при использовании переменной TZ env, хотя он говорит, что это будет, но это решение сработало для меня, используя MAMP 2.0.5 с PHP 5.3.6.


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

следует отметить, что для php существует два местоположения.ini-файл для используемой версии php. MAMP может загружать его с другого пути, чем тот, который вы редактируете.

например, допустим, мы используем php 5.3. Вот два местоположения php.ini-файл, который может запутать кого-то на что редактировать.

/Applications/MAMP/bin/php/php5.3/conf/php.ini

вы, кажется, редактируете его в этом месте ниже:

/Applications/MAMP/conf/php5.3/php.ini

редактирование часового пояса во втором пути не сработало для меня, но редактирование в первом. Возможно, вы редактируете неправильный файл, даже если он выглядит одинаково. Я протестировал это на своей версии. Бег!--3--> в файле php и проверка пути php.ini-файл всегда будет показывать правильный путь.

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

date.timezone = "America/Vancouver"

также значение по умолчанию было инкапсулировано в двойные кавычки.

Я также использовал MAMP версии 2.1.1 при тестировании этого.


обратите внимание, что в / приложения/MAMP / conf. Вы должны проверить, какую версию вы используете в MAMP -> Preferences - > Tab "PHP"

если установлено значение 5.4.4, вы должны получить доступ / приложения / MAMP/conf / php5.4.4 / php.ini

@edit

запустить в терминал это:

sed -i '$ a\date.timezone = "America/New_York"' /Application/MAMP/conf/php{5.4.4,5.2.17,5.3.13,5.3.14,5.3.5,5.4.3}/php.ini

или

sed -i 's/date.timezone = "Europe/Berlin"/date.timezone = "America/New_York"/g' /Application/MAMP/conf/php{5.4.4,5.2.17,5.3.13,5.3.14,5.3.5,5.4.3}/php.ini

если эта ошибка появляется в терминальном использовании CLI PHP, это может быть проблема с собственным столкновением vs MAMP PHP.

MacOS X поставляется с собственной предустановленной версией PHP, и это то, что работает в оболочке при вводе php. Конфигурация PHP MAMP отделена от предустановленной конфигурации PHP: изменение настройки часового пояса MAMP PHP не влияет на то, что вы видите в CLI-следовательно, ошибка часового пояса сохраняется. Быстрый способ проверить-запустить which php - Если вы не видите путь, начиная с /Applications/MAMP/... вам нужно отрегулировать вашу окружающую среду.

для этого отредактируйте .profile (или bash RC-файл) текстовый файл и добавьте к нему эту строку:

export PATH="/Applications/MAMP/bin/php5.5.3/bin:$PATH"

настройки выше путь до нужного МАМП установки PHP. Тогда беги:

. ~/.profile
hash -r

это немедленно применит изменение пути (в противном случае вам нужно будет открыть новое окно терминала для применения изменений). Вторая команда - это просто команда очистки кэша bash CLI.

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


в Ubuntu 13.10 с использованием php 5.5.3 откройте терминал и сделайте

cd /

sudo find -name php.ini

он показывает два файла php.ini для меня это результаты:

 ./etc/php5/apache2/php.ini
    ./etc/php5/cli/php.ini

откройте оба файла с помощью sudo, я использую nano

sudo nano /etc/php5/apache2/php.ini

найдите и измените эту строку:

;date.timezone =

и заменить на:

date.timezone = America/Caracas

сохраните и закройте этот файл и отредактировать другой

sudo nano /etc/php5/cli/php.ini

найдите и измените эту строку:

;date.timezone =

и изменить кому:

date.timezone = America/Caracas

сохранить и закрыть и перезапустить apache с

sudo service apache2 restart

это работает для меня!!!


grep -lr "Berlin" * | xargs sed -i .backup -e 's#Europe/Berlin#America/New_York#g'

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