macos — Почему я получаю предупреждение PHP date.timezone каждый раз, когда открываю Терминал в MAC OS X?

Почему я получаю следующее предупреждение PHP каждый раз, когда я открываю Terminal.app в OS X?

Последний вход в систему: Пн Дек 22 11:53:25 on ttys000

Предупреждение PHP: Неизвестно: Это
небезопасно полагаться на настройки часового пояса системы. Вы
требуется использовать настройку date.timezone или функцию date_default_timezone_set (). Если вы использовали какой-либо из этих
методы, и вы все еще получаете это предупреждение, вы, скорее всего,
неправильно указали идентификатор часового пояса. Мы выбрали часовой пояс UTC для
сейчас, но, пожалуйста, установите date.timezone, чтобы выбрать ваш часовой пояс. в неизвестном
на линии 0

машина: ~ пользователь $

Я заметил это только сегодня, ранее у меня не отображалось это предупреждение.
У меня есть PHP date.timezone, установленный внутри php.ini:

[Date]
; Defines the default timezone used by the date functions
; Will be changed by MAMP to system timezone
date.timezone = "Europe/Moscow"

Эта директива находится внутри php.ini, расположенного по адресу /Applications/MAMP/bin/php/php5.6.2/conf/php.ini, который является единственным файлом конфигурации PHP, который мой PHP использует из CLI:

machine:~ user$ which php
/Applications/MAMP/bin/php/php5.6.2/bin/php

machine:~ user$ php -i | grep "Configuration File"Configuration File (php.ini) Path => /Applications/MAMP/bin/php/php5.6.2/conf
Loaded Configuration File => /Applications/MAMP/bin/php/php5.6.2/conf/php.ini

Я также проверил php.ini предустановленного PHP внутри /private/etc/php.ini (с псевдонимом /etc/php.ini), и там я также установил директиву date.timezone.

Так почему я до сих пор получаю это неприятное предупреждение?

Спасибо за внимание!

РЕДАКТИРОВАТЬ: это вывод php --ini:

Configuration File (php.ini) Path: /Applications/MAMP/bin/php/php5.6.2/conf
Loaded Configuration File:         /Applications/MAMP/bin/php/php5.6.2/conf/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Кажется, что единственный загруженный файл conf — это php.ini из MAMP, но почему я продолжаю получать это предупреждение при запуске терминала?

2

Решение

Я нашел проблему. Именно эта строка внутри .bash_profile в моем Главная папка:

export PHP_API_VER=`php -i | grep 'PHP Extension =' | grep -oE '[0-9]+'`

Я использую эту переменную, чтобы узнать, какое расширение PHP API я сейчас использую. Поскольку этот переменный экспорт был после этого:

PATH="$MAMP_PHP_BIN_FOLDER:$PATH"

Который добавляет папку bin bin (где PHP команда находится) в PATH env var, я столкнулся с этой ошибкой, потому что при открытии Terminal.app неправильно PHP была использована команда, я должен был поставить экспорт PHP_API_VER после PATH.

Затем я спросил себя: «Почему я получаю это предупреждение, если у меня есть предустановленные PHP-файлы MAMP PHP и OS X с установленной директивой date.timezone?», И ответ был: which php когда .bash_profile загрузился, что показало:

/usr/local/bin/php

Какие?! У меня была установлена ​​другая версия PHP, о которой я забыл (я установил ее с помощью HomeBrew). Поэтому я проверил php.ini этой команды php, добавил директиву date.timezone, и теперь все отлично и работает.

До свидания!

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]