У меня есть веб-сервер с Red Hat Linux, Apache и PHP. Для этого сервера (и, видимо, только для этого сервера), похоже, проблема связана с тем, как выходные данные PHP работают по воскресеньям. Я могу развернуть коробку бродяг на локальном компьютере, у которого установлена дата в воскресенье, запустить тот же самый код, и все работает так, как ожидалось. Однако на моем реальном веб-сервере, по-видимому, по-разному работает по воскресеньям и нарушается чувствительная к времени функция. Я хотел бы запустить некоторые тесты, прежде чем воскресенье снова вернется, но изменение даты для всего сервера не является вариантом.
Так.
Есть ли способ (возможно, использование.htaccess или что-то подобное) для смещения даты PHP-отчетов для определенного подкаталога?
Создайте файл.htaccess в поддире и добавьте что-то вроде: php_value date.timezone "America/New_York"
. Вы также можете установить часовой пояс в php файле, используя date_default_timezone_set. Вот также список поддерживаемых часовых поясов: http://php.net/manual/en/timezones.php для использования в любом из этих методов.
date
зависит от часового пояса сервера. Вот почему хорошие парни, создавшие PHP, дали нам классDateTime
иDateTimeZone
чтобы вы могли в любой момент выбрать часовой пояс и то, как выводить строку даты. Ваш сервер работает в своем часовом поясе, и, скорее всего, от него зависят многие службы. Изменение его в соответствии с потребностями PHP-скрипта, вероятно , не лучший способ. Вот почему на вашем месте я бы отбросил этот кусок PHP-кода с помощью функцииdate
и повторно реализовал бы его с помощью классаDateTime
. Таким образом, у вас есть полный контроль над всем, что связано с датами.