モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

windowsのxampp環境にcomposerとpsyshのインストール

PHPインタラクティブに実行する PsySH
http://www.engineyard.co.jp/blog/2014/php-psysh/


を見て、手元のcygwinの入ったwindows環境でpsyshを試そうと思ってcomposerって叩いたら、まずcomposerが入っていなかったのでした。
なので、まずはcomposerを入れようとしたら、ちょっと手間だったのでそのメモ。


まずはapt-cygで入るかな?と思って試したのですが、ダメでした。
ので普通にwebから落としてきて入れようとしたのですが…

$ cd c:/xampp/php
$ php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

…略

このようにhttps使えないよん、と言われてしまいました。
なんで?と思ったんですが、xamppのデフォルト環境だとopensslのextensionが切られているようです。


なのでphp.iniの設定を変更します。

c:/xampp/php/php.ini

extension=php_openssl.dll


再度先のコマンドを実行すると「composer.phar」が作られます。
実行してみます。

$ php composer.phar
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version fc57c97f9f6f1a309dd51a9312218d052b8940c7 2014-06-05 14:10:53

…略


ただこれだといちいち場所指定しないといけないのでめんどくさいです。
自分はaliasを切りました。

.bashrc

alias composer='php c:/xampp/php/composer.phar'


これでやっとpsyshがインストール出来る…

$ composer global require psy/psysh

Please provide a version constraint for the psy/psysh requirement:

…略

なんかバージョン指定が必要な模様。
わからんかったのでぐぐってみると、とりあえずだいたいは「:dev-master」になってるっぽいです。

$ composer global require psy/psysh:dev-master

これでpsyshが入りました。


…が、どこに入ったかがわからない…

というわけで、こんなにヤックシェービングしたのに結局

$ wget psysh.org/psysh

で入れました。


なのですが、なんかreadlineが効いてないみたいで、C-pとかでヒストリを呼び出せないのです。
phpinfoするとやっぱり--with-readlineにはなってない模様。
extensionでreadline入れれるみたいだからそうするかあ… しかしxamppだとなにかちょっとやろうとするとこうやって躓くこと多いよなあ。