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の設定を変更します。
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だとなにかちょっとやろうとするとこうやって躓くこと多いよなあ。