PHPプログラミングをJupyterノートブックで行うための環境構築(ウインドウズ10)

   







自分はウインドウズ10のPCにAnaconda2およびAnaconda3をインストールしており、PythonプログラミングをJupyterノートブックでできるようにしているのですが、PHPのプログラミング学習もJupyterでできないかと思いました。結果的に可能だったのですが、随分回り道をしてしまったので、うまくいったインストール手順を忘備録として残しておきます。

自分の場合、すでにJupyter Notebook (Anaconda)はインストールされている状況です。PHPのインストールに関しては、ApacheとデータベースとPHPとPerlを一括してインストールできるパッケージXAMPP(Windows、Linux、macOS、Solarisのクロスプラットフォーム、Apache、MariaDB(またはMySQL) PHP、Perl)が便利という声がネットに多いのでPHPのインストール目的でXAMPPをインストールしました。回り道した原因は、XAMPPの最新版(PHP7.3版)を最初インストールして作業していたら、PHP-ZMQ extensionがPHP7.2までしか対応していなかったためでした。最新版XAMPP(PHP7.3)はアンインストールし、PHP7.2バージョンのXAMPPを再インストールしたところ、今度は最後まで順調に行けました。

参考にしたのはこの2つのウェブ記事

  1. Jupyter-PHPって何? HackerrankにPHPで挑戦したい人必見!! Windows10にインストールしてみた!!(2018年02月26日に更新 @kaitaku Qiita)
  2. Jupyterでphpを使えるようにする in Windows 10(The Art of Zero)

 

XAMPP-PHP7.2のインストール

PHP-ZMQ extensionがPHP7.3に未対応していないようなので、apachefriends.org/download.htmlから古いバージョンXAMPP for Windows 7.2.14 (32ビット版)のインストーラーをダウンロードし、実行。It seems you have antivirus running.というメッセージは気にせず先に行きました。User Account Control (UAC)どうのこうのというメッセージも気にせずに先に行きました。古いC:\xamppにフォルダおよび一部のファイルが残っていたので、予め。改めて、C:\xamppにインストール。全てデフォルトでNextをクリックしつづけてインストール完了。Languageは英語と独語しか選べなくて、英語にしました。

 

composerのインストール

getcomposer.orgからウインドウズ用のインストーラー(Windows Installer)Composer-Setup.exeをダウンロードし、インストールを実行。全てデフォルトのまま先に進んで完了。

 

PsySHのインストール

ウインドウズのコマンドプロンプトで、>composer require psyshpsy/psysh と入力してリターン。しばらく何も起きないように見えます。

[InvalidArgumentException]
Could not find a matching version of package psyshpsy/psysh. Check the package spelling, your version constraint and that the package is available in a stability which matches your minimum-stability (stable).

全然意味がわからないメッセージが出ましたが、>PsySH と打つと、
Psy Shell v0.9.9 (PHP 7.2.14 — cli) by Justin Hileman というメッセージが出たのでインストールできたみたい。

PHP-ZMQ extensionのインストール

http://pecl.php.net/package/zmq/1.1.3/windows には、2019年2月6日現在、PHP7.3に対応しているものは見当たりません。最新のものはPHP7.2対応で、4種類あります。64ビット版(x64)か32ビット版か(x86)、Thread Safe (TS)か、Non Thread Safe (NTS)かで迷いましたが、ウインドウズ版XAMPPは32ビット版しかそもそもなかったので、ここではx86を選びます。TSかNTSがわからなかったのですがphpinfo()を使えというネット記事を見つけました。コマンドプロンプトで>PsySHと打つとプロンプトの表示が>>>に変わり、さらに、>>>phpinfo() と打つと、ずらずらと何やら表示されて、上から23行目くらいに、Thread Safety => enabled とありました。TSらしいので、7.2 Thread Safe (TS) x86 をダウンロード。ネット記事(Jupyter-PHPって何? )に従って、フォルダの中の

libzmq.dllを、C:\xampp\phpに入れ、
php_zmq.dllをC:\xampp\\php\extに入れました。

それから、php.iniというテキストファイルの中に、extension=php_zmq.dll の1行を追加。どこに置くべきかわからないので、一番上の[PHP]のすぐ下にしておきます。

 

jupyter-php-installerのインストール 

Jupyter-PHP’s Installerというサイトからjupyter-php-installer.pharというファイルをダウンロードして、そのファイルをウインドウズ10のコマンドプロンプトのワーキングフォルダ(C:\Users\ユーザーネーム\)に置きました。それから、コマンドプロンプトの画面で、

php ./jupyter-php-installer.phar install と打つと、しばらくして、

The Jupyter-PHP kernel has been successfully installed.

という嬉しいメッセージが出ました。

 

JupyterでPHP

さっそく、コマンドプロンプトで ipython notebook と入力してノートブックを起動してみると、ウェブブラウザにJupyterのページが開かれて、Newで、PytonだけでなくPHPも選べるようになっていました。Anaconda2やAnaconda3を起動してもやはり、新規ノートブックのオプションにPHPの項目がしっかり加わっていました。めでたし、めでたし。未対応だったPHP7.3でやろうとして数多くのエラーに遭遇し2日がかりになりましたが、PHP7.2にした後は全てが順調で、そんなに時間はかかりませんでした。

 

参考サイト

  1. Jupyter-PHPって何? HackerrankにPHPで挑戦したい人必見!! Windows10にインストールしてみた!!(2018年02月26日に更新 @kaitaku Qiita)
  2. Jupyterでphpを使えるようにする in Windows 10(The Art of Zero)
  3. Anaconda Distribution Download
  4. ApacheFriends (ダウンロード)
  5. Composer: Dependency Manager for PHP
  6. PHP-ZMQ extension
  7. Jupyter-PHP’s Installer

 - PHP