XAMPP for WindowsのPHP 7からMongoDBを使用する

タイトルが長いけど致し方ない。
情報が錯綜し、これだけの条件を指定しないと
誤った設定を指定してしまうためだ!

Windows10にxamppおよびMongoDBをインストール済みで
php7からMongoDBに接続するまでがこのブログの課題。

ステップ1:
MongoDB PHP ドライバをpeclから「7.X Thread Safe (TS) x86.」をダウンロードする。
ステップ2:
ダウンロードしたzipファイルを展開し、その中の「php_mongodb.dll」を “/xampp/php/ext” にコピーし、”/xampp/php/php.ini” に次の行を追加する。

ステップ3:
xampp-control パネルから Apache を再起動。
ステップ4:
phpinfo を使用し、次の図のようにMongoDBの動作を確認する。

ステップ5:
次の php-mongo.php というファイルを作成し、PHP 7 から MongoDB に接続できるかテストする。

ブラウザに次のように表示されれば接続成功です!

【参考】

  1. 公式ドキュメント
  2. Configure MongoDB with PHP 7 for XAMPP on Windows

Apache ログの変換

apache のエラーログにおいて、日本語のメッセージが16進数形式の文字に変換され読めない。
“\x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa\x8c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B”
読めるか、これが。
これを日本語の読める形式に変換したいんだけど。
インターネットを探せば、shell コマンドを得意げに紹介しているものばかり。
こちとら、windows 環境で、チットばかり急いでんだぁ!
さくさく変換できるサイトは無いんかい?
—– ありました!
探しあぐねて漸く行き着いたのが次のサイト。

16進数エスケープ文字デコードツール

変換したら「指定されたモジュールが見つかりません。」とのこと。
知ったかぶりのコマンドなんかより遥かに役に立つ。
今後も使用させて戴きたいのでメモに残しておこう。

blogdownへの道(5)

GitHubへのアップロード

GitHub リポジトリへアップロードします。
アップロードではなく、Commit とか Push と言うのが正しいのかも知れませんが、如何せん GitHub の知識が皆無に近いので不正確な表現にはご容赦ください。
以降は、参考サイトの手順に従い進めていきます。

  1. フォルダ “public” を “docs” に変更し、Git タブを選択する。
    図 5-1 commit1
  2. Git タブ内の初期状態はこのように、全て未選択状態になっています。
    図 5-2 Gitタブ内の初期状態
  3. 全ファイル(ホルダ)の “staged” をクリックして選択し、次に “commit” ボタンをクリックします。
    (注): “staged” をチェックする際、フリーズする場合があるようです。特に、”docs” や “theme” のようにディレクトリの階層が深い場合やファイル数が多い場合に発生するような気がします。この状態を脱するには “Ctrl+Alt+Del” でプロセスを停止するしかない(のかな?)。”stage” するには、私の場合は SourceTree を使用しましたが、git add -Aでもよいそうです。
    図 5-3 Gitタブ内ファイル選択後の状態
  4. 上の操作で、次の画面が表示されるので “commit message” に好みに応じメッセージを入力後、”commit” ボタンをクリックします。
    図 5-4 commit 押下後の画面

    commit が終了すると、次のような画面が表示されるので “close” ボタンを押し閉じてください。

    図 5-5 commit完了画面
  5. いよいよ最後の操作で、画面右上の “push” をクリックします。
    図 5-6 push

    push が終了すると、次のような画面が表示されるので “close” ボタンを押し閉じてください。

    図 5-7 push完了画面

以上で、GitHub リポジトリへのアップロードは完了です。

(追記:2019/05/27)
“stage” の処理を強制終了した場合、.git/index.lock が作られ、Sourcetree で当該ディレクトリを開くと次のようなメッセージが表示され commit ができなくなります。

このようなエラーが表示された場合は、”.git/” から “index.lock” を削除してください。

【前に:blogdownへの道(4)】【次へ:blogdownへの道(6):終】

blogdownへの道(4)

ローカル web サイトの作成

  1. blogdown パッケージのインストール
    CRAN と GitHub から、次によりインストールできます。

  2. Hugo のインストール
    blogdown のヘルパー関数を使用します。

  3. 次により、プロジェクトへ新規 web を作成します。
  4. 暫く待つと、多数のファイルが作られ、RStudio の Viewer に次のよう web 画面が表示されます。
    図 4-1 web 画面
  5. (追加:2019/05/27)
    config.toml に、次の設定を確認し、未設定なら追加します。

    • relativeURLs:アドレス参照を相対アドレスにします。これを設定しないと、css や Javascript の参照が絶対アドレスになり、参照が不正になります。
    • publishDir:blogdown::build_site() の出力ディレクトリを設定します(この場合は “docs”)。

    サイトに必要なファイルを全て./docs* 以下に生成するため、次のコマンドを実行します。

今回は、ここで作成されたものをそのままアップロードします!

【前に:blogdownへの道(3)】【次へ:blogdownへの道(5)】

blogdownへの道(3)

R プロジェクトの作成

blogdown を使用するには、空のプロジェクトが必要ですので、新規に作成していきます。

1. RStudio のメニューから「File → New Project」を選択し、表示された “Create Project” の中から、”Version Control” を選択し、次に表示される画面では、バージョンコントローとして Git を選択します。

図 3-1 プロジェクトの作成方法の選択
図 3-2 バージョンコントロールに Git を使用する

2. 次の「Clone Git Repository」画面の”Repository URL” の欄に、先ほど作成しコビーした、Git レポジトリのアドレスを貼り付けます。(図 3-3 参照)
最後に、“Create Project” をクリックします。

図 3-3 新規プロジェクトの作成
<

なお今回は、ディレクトリ “G:\R” の下に、”my_blog” という名前のディレクトリを作成しています。
【前に:blogdownへの道(2)】【次へ:blogdownへの道(4)】

blogdownへの道(2)

GitHubにリボジトリを作る

  1. GitHubにログインします。
  2. 左サイドメニューの “New” ボタンをクリックします。
    図 2-1 リポジトリ作成


  3. “my_blog” と言う名前でリポジトリを作成します。
    図 2-2 名称 my_blog でリポジトリ作成
  4. リポジトリが作成されたので、”https://github.com/アカウント名/レポジトリ名.git” 部分をコピーして、秀丸等に張り付けておきます。
    図 2-3 URLのコピー

GitHubでの作業は、これでいったん終了します。
【前に:blogdownへの道(1)】【次へ:blogdownへの道(3)】

blogdownへの道(1)

参考サイト:RSTUDIOではグラブれないけど、ブログれる

前提条件 R、RStudio、Git がインストール済み
GitHubへのユーザ登録

RStudio で Git を使えるようにする

RStudio をインストールしただけでは Git は使えません。
そのため、参考サイトに示した手順の中に、「RStudioでGitHubレポジトリとリンク」の説明がありますが、この手順が実行できません。
まず、次により Git を有効にする必要があります。

  1. メニューバーから Tools → Global Options を選択
  2. 左側メニューの Git/SVN をクリック
  3. Enable version control interface for RStudio projects をチェックし有効にする
  4. Git executable に git.exe へのパスを入力する
図 1-1 Git の設定
以上で、RStudio 上での Git の使用が可能になっているはずです。

ここで、後に必要になるので Git Bash を立ち上げ、次の Git コマンドを実行しておきます。

【次へ:blogdownへの道(2)】

Anaconda環境へのPycharmインストール

【発生した問題点】

インストールした Anaconda 環境下で Pycharm が動作しない。

【環境】

  1. OS : windows 10
  2. Anaconda3-2018-12(64bit版)
  3. pycharm-community-2018.3.3

【状況の整理】

  1. Pycharm: File->Settings->Project python->Project Interpreter には
    「~/Anaconda3/python.exe」を設定済み
  2. Pycharm アイコンから起動した場合、import した numpy などのパッケージがエラーになる
  3. Anaconda Prompt のコマンドラインから起動すると、この現象が発生せず正常に動作する
  4. idle も同様に、コマンドプロンプトから起動すると import でエラーになるが、Anaconda Prompt から起動した場合はエラーにならない
  5. 【対策】

    「Anaconda Prompt と Command Prompt で動作が異なるのは、Path の設定に違いがあるのでは」との推測のもとに、以下により双方の Path 情報をファイルに出力して比較してみた。

    その結果、Anaconda Prompt 側から得られた Path には、次の 6つが追加されているのが判明した。

    この 6 種のパスを、環境変数の Path に設定し Python を起動したところ問題なく実行できるようになった。
    (なお、Anaconda3\Library\usr\bin と Anaconda3\bin は存在しないので指定不要かと思われる。 )

    パソコンを新しくして、悩み続けた1か月。
    漸く Pycharm が動くようになった。
    目出度し!

R 終了時のワークスペース保存確認を表示しない

R を終了するときに、ワークスペースを “>RData” に保存するかどうかを尋ねられます。
いろいろなサイトを当ってみても、「保存しない」のが一般的なようだ。
しからば、そのダイアログを出さないようにしてしまいましょう。

R Console の場合

R console のショートカット→右クリクック→プロパティ
表示されたプロパティの「リンク先」に、図のように “–no-save” を追加する。

RStudio の場合

RStudio を開き
Menu の “Tools” → “Global Options…” で Options を開き
次の個所を

以下のように変更する。

以上

Jupyter Notebook の初期ディレクトリ

パソコンも windows 10 になり、どうしてもインストールができなかった Anaconda が使えるようになったので jupyter notebook を起動すると、Edge が起動し”C:Users\ユーザ名” が初期ディレクトリとして開かれる。

これを、Chome で初期ディレクトリとして “G:\python” に変更するため

として、
~/.jupyter/jupyter_notebook_config.py
を作成し、以下のように変更。

これで、「スタートメニュー → Anaconda3(64bit) → Jupyter Notebook」
で起動すると、ブラウザは Chrome になったものの、ディレクトリは依然として元のまま変更されない。
これを、コマンドプロンプトから起動すると、指定通り G ドライブに切り替わっている。

これは、起動コマンドの問題だろうと推測できるので、
「スタートメニュー → Anaconda3(64bit) → Jupyter Notebook」を右クリックし、
「その他 → ファイルの場所を開く」
そのフォルダ内の「Jupyter Notebook ショートカット」を
「右クリック → プロパティ」
でプロパティの「リンク先」を見ると

吃驚するほど長いが、環境変数 “%USERPROFILE%/” が怪しいのでググってみると、これが初期ディレクトリを指定しているものらしい。
一応、バックアップのためリンク先をエディタに張り付けた後、リンク先から直接
“%USERPROFILE%/” 部分を削除

これで、 “G:\python” が初期ディレクトリとして開かれるようになりました!