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

ApiGen, OpenServer и кириллица в имени пользователя...

Добавлено: 27 июн 2015, 21:26
DelphinPRO
Понадобилось мне сегодня сгенерировать документацию для одного из своих проектов. Ну, думаю, что может быть проще? Открываю встроенную в OpenServer консоль, выполняю команду:
composer global require apigen/apigen
На удивление инсталл прошел на ура, установленный апиген даже версию выдает по команде path/to/apigen -V
Но, во-первых, вводить путь каждый раз - это неприемлемо, во-вторых, и это главное, при попытке сгенерить документацию, апиген вываливался с ошибкой. Режим дебага показал, что композер установил апиген в пользовательскую папку с кириллическими символами. Меня зовут Сергей, и винда при установке создает такое имя, когда вводишь данные своей учетки Microsoft. Как это поменять, я не стал искать, да и лень было. Я пошел другим путем, и поменял домашнюю папку композера. Делается это путем добавления переменной среды (папку C:\Composer лучше создать заблаговременно)
COMPOSER_HOME=C:\Composer
Добавление переменной среды
Добавление переменной среды
Далее в PATH добавим путь, чтобы можно было запускать бинарники установленных глобально пакетов без указания полного пути:
%COMPOSER_HOME%\vendor\bin
Теперь отвяжем консоль от OpenServer'a
Для этого нужно добавить несколько системных переменных окружения (как мы это только что делали с COMPOSER_HOME)
PHP_BIN=w:\modules\php\PHP-5.4\php.exe
PHP_DIR=w:\modules\php\PHP-5.4\
Значения этих переменных для вашей системы вы можете, выполнив в консоли OpenServer'a команды
echo %PHP_BIN%
echo %PHP_DIR%
Тут следует учесть, что это будет работать только для одной версии php, поэтому выберите ту, с которой вы больше всего работаете :)
Далее в той же OS консоли смотрим содержимое PATH
echo %PATH%
копируем оттуда следующие пути
w:\modules\php\PHP-5.4\ext;w:\modules\php\PHP-5.4\pear;w:\modules\php\PHP-5.4\pear\bin;w:\modules\php\PHP-5.4;w:\modules\imagemagick;w:\modules\wget\bin;w:\modules\database\MySQL-5.5\bin;w:\modules\http\Apache-2.2\bin;w:\modules\http\Apache-2.2;
и добавляем их к системной переменной PATH.
И последним штрихом, без которого, однако, апиген не заведется, будет переназначение системных переменных TMP и TEMP. Как вы догадались, в их значениях должен быть путь без кириллицы
TEMP=C:\Temp
TMP=C:\Temp
Все. Теперь мы можем открыть стандартный виндовый терминал, ввести команды
w:
cd domains\project\wofh-tools
apigen generate -s www\application -d doc
и насладиться сгенерированной документацией :)

Бонусом будет отвязка терминала от OS. Доступны команды php, mysql, composer. PhpStorm больше не нужно будет запускать через закладку ОпенСервера.
Минус - Все это работает только для одной, выбранной версии php (Но встроенная в OS консоль по-прежнему будет работать со всеми версиями php).

У меня всё. Спасибо за внимание :)