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'
команда выше нуждалась в некоторой тонкости в моем случае. Это также создаст резервные копии файлов.