Страница 1 из 2

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

Добавлено: 31 мар 2013, 22:40
denis
Добрый день.
Столкнулся с такой проблемой, и сходу так даже не знаю на какой форум идти.. сюда или на 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, мне из-за этого не комфортно.

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

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

Добавлено: 31 мар 2013, 23:15
denis
понял, спасибо ;)

Добавлено: 01 апр 2013, 11:07
Максим
Не за что :)

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

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

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

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

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

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

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

Добавлено: 04 май 2016, 22:37
x-code
В общем ведет себя так.
На первом уровне вложенности (папки в progs) видит только ярлыки.
На втором уровне вложенности (подпапка в папке в progs, как и сделано в Ultimate) видит только exe'шники.

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

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

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

Добавлено: 05 май 2016, 00:49
x-code
Это я понял, да и в документации написано.
Но тем ни менее, если есть папка "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-файлами попробовать, но мне уже лень)
В общем, вот такие дела. Надеюсь что вам будет полезна эта информация.