кто–нибудь сталкивался с проблемой времени в MAMP?

Tagged with →  

68 Responses to кто–нибудь сталкивался с проблемой времени в MAMP?

  1. Treva:

    пакетный php использует старую версию «Olson» Timezone Database Version 2010.9. c MySQL временем все ок. Lion 10in.2, MAMP 2.0.5.
    как быть, выручайте. с фри все как–то проще вышло

  2. Treva:

    Default timezone стоит Europe/Moscow, локальное время системы Europe/Moscow time.euro.apple.com

    а по версии php date(‘h–i’) сейчас 28

  3. AlOva:

    а ты его что, для продакшена гоняешь? а если для разработки, то не пофигу ли? а если не пофигу, то таймзону +1отМоскоу выбрать?

    на всех линухах, где у меня продакшен, обновился tzdata так что логично, что проблема в мамп–е имеет место быть, другое дело, что это в принципе не проблема… имхо

  4. XiiPhone:

    //vagrantup.com/ — это я так, к слову

  5. Treva:

    нет, не продакшен конечно. продакш на фряхе, там поставил pecl–timezonedb.

    если я поставлю другую зону, то у меня будет коретно выводиться текущее время, но съедут старые даты.

  6. Treva:

    как это связано?

  7. XiiPhone:

    выкидываем mamp ставим нормальный lucid32 на виртуалке? вагрант поддерживает ведро рецептов от шефа. Правда если GUI для тебя решает, то пользуйтесь этим говном по имени мамп.
    Еще есть второй простой вариант: vagrant + lucid32 и бабушка и репозиторий её автора. Как пользоваться прийдется разобраться разок.

  8. AiMac:

    а я на радостях обнаружил, что у немя нет homebrew, но есть macports :)

    Кстати, * означает, что есть изменения незакомиченые в git — удобно. может кому пригодится.

  9. Treva:

    который раз замечаю, что после ответа рубиста, возникает еще больше вопросов

  10. AiMac:

    на кой хер виртуалка на оси, где все итак есть?
    Лично я предпочитаю ставить gcc(xcode) и менеджер пакетов. И ставить нормально апач, пхп, мускуль.

  11. AiMac:

    я тоже не понял как это все связано с базой часовых поясов.

  12. Treva:

    мне MAMP удобен тем, что можно за 5 секунд в GUI переключиться между версиями php и накидать доп хостов

    XiiPhone, наверное говоришь о каких–то очень интересных вещах, но я не понимаю ничего кроме предлогов, а главное зачем это мне в данном конкретном случае, особенно облачные решения для руби от шэфа и сниппеты от бабушки. Но если расскажешь зачем это мне, я буду признателен.

  13. XiiPhone:

    хотя бы потому, что в продакшене у тебя вылезет ведро новое гвоздей сбоку и лопата ведь mac — это не линукс.

    Насчет часовых поясов, в виртуальной машине ты можешь поставить тот часовой пояс, который тебе нужен (в идеале тот же, что и в продакшене, следовательно апач, php и mySQL будут иметь одинаковые настоящие часы)

  14. XiiPhone:

    mamp не дает возможности получить нормальное окружение, такое как будет на финально сервере

  15. Treva:

    так у меня и в продакшене не Linux.

    и не только в виртуальной машине можно поставить тот часовой пояс, который нужен.

    на FreeBsd, например поставил
    /usr/ports/misc/zoneinfo
    и
    /usr/ports/misc/pecl–timezonedb/
    extension=timezonedb.so для php,

    но вот с MAMP пока не могу разобраться

  16. Treva:

    у меня нет каких–то супер уникальных вещей на сервере и окружение, которое было, меня до сих пор вполне устраивало; нет кластера и 100к+ пользователей, закрытый корпоративный ресурс с небольшой нагрузкой.
    возможно имеет смысл заменить локальный собранный пакет MAMP на что–то другое, но пока не вижу более удобной альтернативы.

  17. XiiPhone:

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

  18. AiMac:

    так а часы не при чем. Они секунды отчитывают timestamp везде одинаков, хоть че выставляй. Проблема в базе поясов какая–то. Я уверен, что у Treva часы идут правильно. Но, что–то не так с конфигом. У меня GMT+2 в окружении apache +4, т.к. работаю с москвичами. И это никак не конфликтует.
    Мак не линукс, но и линукс и мак — юникс. И я не знаю, проблем в совместимости. У меня на впс убунта lts, нода, nginx и все тоже на маке, нет проблем, также нет проблем и с пхп хостингами.
    Единственное, в чем согласен, что mamp — неудобен. Т.к. хранит все в своей папке, в юзерфолдере, это не привычно и странно. отредактировать хосты, сделать apachectl restsart/stop/start быстро и не сложно из терминала.

    Но это все как кому удобно и пост тут не о том, что выбрать, а чувак уже выбрал и привык, но есть у него проблема, вот.

  19. AiMac:

    подумай над homebrew, например. Вообще консольные менеджеры пакетов очень ок. минус — ждать, пока все скомпилится, но зато все скомпилится с твоими ключами и так как тебе надо и на твоей машине. Я вот живу с нодом и npm — и это охеренно. Просто, удобно.

  20. AiMac:

    date_default_timezone_set(‘Europe/Moscow ‘);
    в пхп не срабатывает, правильно я понимаю?

  21. AiMac:

    тебя никто не судит, просто ты начал небольшой холивор.

  22. XiiPhone:

    а что у тебя в настройках локалей для php стоит? :)

  23. AiMac:

    или он срабатывает, но с переводом на зимнее время?

  24. XiiPhone:

    я не люблю гуи за то, что они без спроса меняют конфиги как им угодно, а еще за то, что это все из–под рута работает

  25. AiMac:

    чо из под рута? Мне казалось mamp в юзерфолдере/applications/mamp/ и все конфиги его там же. И вообще не трогают, системных конфигов.
    Ты путаешь с гуями каких–нибудь гуи для /etc/hosts

  26. Treva:

    Default timezone стоит Europe/Moscow

  27. XiiPhone:

    и в мыслях не было

  28. XiiPhone:

    хотя, немного грубо влез, да… извините :)

  29. XiiPhone:

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

  30. XiiPhone:

    из под какого юзера в процессах висит все что мамп запустил? (когда я на него смотрел, он рутом все пускал)

  31. AiMac:

    у меня его нет :) Проверить не могу.

  32. XiiPhone:

    я имею ввиду конфиги php, mysql которые редактируются (редактировались раньше) автоматом

  33. Treva:

    часы на машине синхронизируются с сервером time.euro.apple.com и идут верно.
    проблема заключается в том, что php неверно обрабатывает timestamp, так как использует старую базу локалей, в которой прописано, что сейчас у нас зимнее время.

    проблема не в том, что у меня локаль неверная стоит и я её сменить не могу, а в том, что нужная мне локаль неверно работает, так как не знает, что правила игры ДА изменил.

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

    самой смешное, что в MySQL zoneinfo вроде корректные данные, так как поля с current timestamp выдают текущее время

  34. NeWhite:

    с переводом.

  35. AiMac:

    только не забудь про GD, если используешь. Если нет — то можно юзать и маковский. php же в маке из коробки.

  36. Treva:

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

  37. Treva:

    linux не unix

  38. XiiPhone:

    у меня вообще на ноуте сварена страшная смесь под кучу разных проектов. А виртуалки начал использовать когда напоролся на проблемы с сортировками, особенностями работы файловой системы (на маке по–умолчанию case–insensetive) и другими мелочами про которые не знаешь, пока не наступишь и не получишь по голове. linux!= unix, mac os наверно единственная живая unix–система

  39. XiiPhone:

    на линуксе работают сервисы собранные под ядро linux, на маке BSD–подобные, и ядро у mac os не линукс–подобное ни разу.

  40. AiMac:

    я так и говорю. Секунды у тебя верные я и сказал, а с таймзоной косяк. Я это ниже же и пишу.

  41. XiiPhone:

    слушай, а ты можешь вытянуть для php so–мудоль из нового дистрибутива и положить в нужную папочку?

  42. Treva:

    модуль я конечно вытянул, но он же был скомпилирован под другую систему, так что фигу

  43. XiiPhone:

    судя по дате компиляции у тебя встроенный должен быть нормальный (в систему). Я с php ничего не делал

    ruby rails3 ? php –v
    PHP 5.3.6 with Suhosin–Patch (cli) ( Sep 8 2011 00)
    Copyright © 1997–2011 The PHP Group
    Zend Engine v2.3.0, Copyright © 1998–2011 Zend Technologies

  44. AiMac:

    И так. Погуглил.
    Варианта 2.
    //pecl.php.net/package/timezonedb Установить и использовать(не знаю как просто ли пекл компилится в mamp)
    обновить php до 5.3.8 или более. Как написал XiiPhone — юзать внешний пхп, если невозможно обновить в mamp

  45. XiiPhone:

    php > date_default_timezone_set(‘Europe/Moscow ‘);
    php > echo date(‘s’);
    50

    а вот болт. надо компилить

  46. Treva:

    встроенный у меня той же версии, что ты написал. я сперва so модуль вообще с рабочего сервера решил утянуть. понимаю что наивно. но версия php идэнтична + код папки в php/extensions «no–debug–non–zts–20060613» совпадал, чтобы это ни значило.

  47. Treva:

    качал, мучал. не понимаю как.

  48. Treva:

    идентична

  49. Treva:

    пытался что–то понять из статьи про другой pecl модуль для MAMP. видимо я безнадежен

  50. AiMac:

    ставь из brew новый php, кидай ему свои конфиги, скармливай его mamp’у Останется у тебя привычные гуи. Но php будешь обновлять престой коммандой brew upgrade php :)

  51. XiiPhone:

    а я вот на радостях обнаружил что из brew выпилили формулу для php

  52. AiMac:

    просто за простотой оболочки мамп скрыты сложности, которые вроде не нужны рядовому юзеру, но если стаклнешься — то вот. :)

  53. AiMac:

    хм… жестоко. А че? есть ссылка?

  54. XiiPhone:

    открой репу с howbrew и посмотри список формул или сделай brew search php

  55. Treva:

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

    если коротко:
    «Olson» Timezone Database Version 2011.14

    скомпилил таки!

  56. XiiPhone:

    ну… ничего сложного, обычная компиляция, обычного php только руками
    php надо качать последний
    MACOSX_DEPLOYMENT_TARGET=10.6 заменить на MACOSX_DEPLOYMENT_TARGET=10in

  57. XiiPhone:

    да, забыл про то, что CC прийдется заменить скорее всего на gcc–4.2
    export CC=/usr/bin/gcc–4.2

  58. AiMac:

    и сам gcc поставить ;)

  59. AiMac:

    праздравля.

  60. AiMac:

    все думаю о переходе на zsh. И хочется и колется.

  61. XiiPhone:

    поздравляю :)

  62. XiiPhone:

    нет, поставь xcode

  63. Treva:

    как уже говорил выше, опирался на эту статью

    1. загрузил нужную версию php
    2. распаковал в /Applications/MAMP/bin/php/php5.2.*/incl ude/php
    3. cd /Applications/MAMP/bin/php/php5.2.*/incl ude/php./configure
    4. загрузил нужный модуль pecl
    5. cd timezonedb–2011.14
    /Applications/MAMP/bin/php/php5.2.*/bin/ phpize
    MACOSX_DEPLOYMENT_TARGET=10in
    CFLAGS=»–arch i386 –arch x86_64 –g –Os –pipe –no–cpp–precomp»
    CCFLAGS=»–arch i386 –arch x86_64 –g –Os –pipe»
    CXXFLAGS=»–arch i386 –arch x86_64 –g –Os –pipe»
    LDFLAGS=»–arch i386 –arch x86_64 –bind_at_load»
    export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET./configure ––with–php–config=/Applications/MAMP/bin/php/php5.2.*/bin/php–config
    make
    make install

    и как обычно дело было в запятой.
    из–за того, что в статье приводился листинг для MAMP в котором папки php лежат в корне /Applications/MAMP/bin,
    я не заметил, что у меня они лежат в /Applications/MAMP/bin/php
    наверное во второй версии они это сменили, а статья еще для 1.9

    работать надо только свежую голову, вот.

    спасибо за советы. может кому–то пригодится решение

  64. XiiPhone:

    переходи, это не больно ;–) oh–my–zsh ждет

  65. XiiPhone:

    да, еще один момент: у виртуалочки есть небольшой плюс, которого не даст а это менеджер пакетов с последними обновлениями, например aptitude для дебиан–подобных систем. На виртуалке у тебя не возникло бы такой проблемы

  66. Treva:

    у меня стоит виртуалка, но для других целей. я не вижу смысла использовать виртуальную машину для web сервера на mac. если бы я работал на win, то да. или если мне будет необходимо воссоздать необходимую инфраструктуру. мне конечно нравится командная строка, но в первую очередь это должно просто работать. на мне и так слишком много функций, поэтому нет сил усложнять себе жизнь на ровном месте.

Добавить комментарий

Ваш e-mail не будет опубликован.

 

Подробнее:
Почему Transmission не работает?

Подскажите, почему Transmission не работает? Transmission перестал качать торренты после переустановки. uTorrent с теми же настройками (всего, в том числе порта соединения) качает, а Transmission — нет. Как диагностировать и лечить?

Закрыть