Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 017 713 раз!

Форум

Добро пожаловать, Гость!

Странности при git bash + openserver

Обсуждение общих вопросов связанных с программой
denis
Сообщения: 2
C нами: 3 года 8 мес

Непрочитанное сообщение denis » 31 мар 2013, 22:40

Добрый день.
Столкнулся с такой проблемой, и сходу так даже не знаю на какой форум идти.. сюда или на git bash.

В общем стоит у меня OpenServer с PHP-5.4.10, windows 7 (64)
если посмотреть через php info - файл php.ini подключен - все расширения есть, все ок.

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


а происходит это изза того что команда which php выдает нам путь /e/OpenServer/modules/php/PHP-5.3.20/php, там файла php.ini нету, там зато есть php.ini-development и php.ini-production, и git bash ясное дело их игнорит. Настоящий же php.ini находится по пути e:\openserver\userdata\temp\config.

В качестве быстрого хака я просто перетащил php.ini по тому пути что git bash требует и он тут же подгрузил этот файл, но теперь у меня 2 php.ini, мне из-за этого не комфортно.

что посоветуете? может ктото сталкивался с таким?

Аватара пользователя
Максим
Cейчас: в сети
Сообщения: 4871
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 31 мар 2013, 22:46

git bash это наверное какая-то консоль? Киньте ярлык в меню программ и запускайте эту консоль через меню Open Server проблема исчезнет. Open Server это портативная платформа и никаких путей/переменных она в систему не прописывает, поэтому возникает такая ситуация если запускать софт не из меню OS. Да, и не забудьте пожалуйста, что сервер должен быть запущен ДО запуска вашей консоли через меню.

denis
Сообщения: 2
C нами: 3 года 8 мес

Непрочитанное сообщение denis » 31 мар 2013, 23:15

понял, спасибо ;)

Аватара пользователя
Максим
Cейчас: в сети
Сообщения: 4871
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 01 апр 2013, 11:07

Не за что :)

x-code
Сообщения: 10
C нами: 7 мес 19 дней

Непрочитанное сообщение x-code » 04 май 2016, 21:57

Добрый день!
А возможно ли как-то передать консоли git-bash то же окружение, которое передается консоли conemu?
В отличие от встроенной в OpenServer conemu, консоль git-bash гораздо ближе к линуксовой консоли, но нужно чтобы при запуске она видела выбранную в OpenServer'е версию php и все прочее, что необходимо для работы.

Аватара пользователя
Максим
Cейчас: в сети
Сообщения: 4871
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 04 май 2016, 22:03

x-code, прочтите руководство, сделайте как там написано и запускайте свою консоль из меню Open Server. Только тогда будет передано окружение.

x-code
Сообщения: 10
C нами: 7 мес 19 дней

Непрочитанное сообщение x-code » 04 май 2016, 22:27

Я запускаю именно из меню запущенного OpenServer'а, но окружение не формируется.
Единственный момент - я использую не Ultimate версию, а Premium (кстати в доке упоминается какая-то "Full" - это Ultimate?).
В случае с Premium также странно и нестабильно ведет себя формирование меню дополнительных программ - если создать в c:/OpenServer папку progs, а в ней папку с каким-то именем, то OpenServer после перезапуска Open Server x64.exe находит только ярлыки (lnk) но не сами программы (exe). Хотя если подсунуть ему папку с программой из ultimate (без каких-либо ярлыков) то он там все находит правильно. Это так и задумано?

x-code
Сообщения: 10
C нами: 7 мес 19 дней

Непрочитанное сообщение x-code » 04 май 2016, 22:37

В общем ведет себя так.
На первом уровне вложенности (папки в progs) видит только ярлыки.
На втором уровне вложенности (подпапка в папке в progs, как и сделано в Ultimate) видит только exe'шники.

Аватара пользователя
Максим
Cейчас: в сети
Сообщения: 4871
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 04 май 2016, 23:32

Имя .exe программы или ярлыка должно быть идентично названию папки в которой они находятся. Посмотрите существующую структуру, всё же понятно как дважды два.

x-code
Сообщения: 10
C нами: 7 мес 19 дней

Непрочитанное сообщение x-code » 05 май 2016, 00:49

Это я понял, да и в документации написано.
Но тем ни менее, если есть папка "git-bash", она содержит ярлык "git-bash.lnk", то если эта папка находится в c:/OpenServer/progs - она доступна в меню, а если ее поместить скажем в c:/OpenServer/subdir/progs - в меню ее нет.

И наоборот; например есть c:/OpenServer/subdir/cports/cports.exe - она доступна в меню, если ее перенести в c:/OpenServer/progs - в меню ее нет.

Я бы разместил этот git-bash и в папке второго уровня, но проблема в том что там всего 435 мегабайт (mingw64 много места занимает). Не хочется тащить все это.

Впрочем, ради эксперимента я это так и сделал - работает как надо. Таким образом вывод - при запуске через ярлык окружение почему-то не передается; нужен обязательно exe.

Я пошел дальше и написал простейшую программу на C++, которая тупо работает вместо ярлыка и запускает нужную мне программу:
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR    lpCmdLine, int nCmdShow)
{
   ShellExecute(NULL, L"open", L"c:/Program Files/Git/git-bash.exe", L"", L"c:/OpenServer", SW_SHOW);
   return 0;
}

Это также работает - окружение запускаемой программы наследуется от запускающей. Это решение меня в общем-то полностью устраивает. Но это хорошо что я знаю С++ :) (по идее можно было еще с bat-файлами попробовать, но мне уже лень)
В общем, вот такие дела. Надеюсь что вам будет полезна эта информация.


Вернуться в «Обсуждение Open Server»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость