【WordPress】Windows7にVagrant+VCCW環境構築したとき詰まったこと覚書

トラブル1

vagrant初回起動に失敗(無反応)

Windows7では2017年07月29日時点の最新版1.9.7が使えなかったようだ。

こちらから一つ古い1.9.6をインストールしなおした事により、起動に成功。

トラブル2

SSH auth method: private keyで処理が止まる

使用マシンの仮想化機能設定が無効になっていたことが原因

BIOSIntel Virtual Technology項目をEnabledにしたことにより、成功。

*原因判明前の試行錯誤として、この設定の前にOpenSSHのインストールをしている。

インストール後もエラー状況が変わらなかったので、おそらくこのトラブルシューティングには関係ないと思われる。

 

f:id:kjtec:20170801230521p:plain

 

とりあえず、立ち上がった!

高尾山レポ1 稲荷山コース

6月10日に高尾山に登ってきたので、遅ればせながらレポを。

ルート

往路

  1. 稲荷山コース
  2. 5号路
  3. 城山

復路

  1. 城山
  2. 5号路
  3. 1号路(ケーブルカー)

稲荷山コース

高尾山には一般的な登山コースとして、1〜6号路、稲荷山コースがありまして、 今回はその中の稲荷山コース、5号路を通って高尾山頂を迂回し、城山まで行きました。

稲荷山コースは、高尾山のなかでは比較的本格的と言われているコースで、山歩きが楽しめます。

1.京王高尾線 高尾山口駅到着

f:id:kjtec:20170726230006j:plain

以前と比べてだいぶ綺麗になった高尾山口駅。トイレがちょっとしたデパートみたいに広くて清潔になってて感動。

売店で食料品はおろか登山グッズまで色々売っているので、空のザックと財布だけできても問題はなさげ。

 

2.ケーブル乗り場

f:id:kjtec:20170726231133j:plain

稲荷山コースに行くためには、まずケーブルカー乗り場を目指して歩きます。人の流れにのって歩けばまず間違いなく到着する。

 

3.稲荷山コースへの分岐

f:id:kjtec:20170726231758j:plain

ケーブルカー乗り場の脇に、稲荷山コースへの分岐があります。そして初手から階段(不安)

f:id:kjtec:20170726231830j:plain

 

3.旭稲荷

f:id:kjtec:20170726232250j:plain

歩き始めて間もなく稲荷神社があらわれます。

 

4.登山道

f:id:kjtec:20170726233454j:plain

f:id:kjtec:20170726233533j:plain

マイナスイオンが出てそうな爽やかな山道♪木の根が多く、少し歩きづらいです。

勾配もそれなり。

 

5.展望台

ケーブルカー乗り場を出発して30分ほどで展望台に到着です。高尾山山頂までだいたい半分くらいでしょうか。

f:id:kjtec:20170726234333j:plain

 

展望台からの眺望。

f:id:kjtec:20170726234608j:plain

 

5.山頂と5号路の分岐

展望台をあとにしどんどん進んでいくと、山頂へ向かう道と5号路が交差する分岐に到着します。

f:id:kjtec:20170726235133j:plain

今回は城山に行きたいため、山頂を迂回して最短の「もみじ台」「一丁平」方面に進みます。

(山頂混みそうだし...)

これにて稲荷山コース完。

感想

展望台の直前が一番キツく、そこ以外はそれほど大変じゃなかった。

今回で1号路から稲荷山コースまで一応(登り、下りの区別なく)全部通ったのですが、稲荷山コースはやや単調なので、 沢近くにあり橋や滝が楽しめる六号路のほうが歩いてて楽しいと思います。

あまり高尾山に行くチャンスがない人が、6号路と稲荷山コースで迷っていたら、6号路をおすすめ。

【Atom】PHP構文エラーを表示する

前提

PHPがインストールされていること

 

手順

  1. Atom>環境設定>設定タグを開く
  2. 設定画面のパッケージ検索フォームにlinter-phpと入力
  3. 検索結果からlinter-phpを探し、Installボタンを押す

f:id:kjtec:20170724223253p:plain

*linter-phpが依存しているパッケージがない場合、インストールを促すアラートが出てくるので、アラートに従って一緒にインストールする
(OKを押していくだけで完了)

*Windowsも同様

 

できました

f:id:kjtec:20170724223318p:plain

 

エラーが発生する場合

PHPのPATHが通っているか確認してみよう

【PHP】OGP出力 文字化け解消[対症療法]

OGPとは

Open Graph protocolの略。
SNSでURLがシェアされた際に、そのページのタイトル・URL・概要・アイキャッチ画像(サムネイル)を意図した通りに正しく表示させる仕組みのこと

やりたかったこと

自サイトの掲示板にURLが書き込まれたとき、リンク先のウェブサイトがOGPを設定をしていれば、その情報を出力する。
f:id:kjtec:20170719224329j:plain

トラブル

文字コードが正常に表示されるはずのUTF-8であるにも関わらず、一部のウェブサイトのサイト名や概要が文字化けした。
f:id:kjtec:20170719224210j:plain

原因

文字化けしてしまうウェブサイトのサイト名や概要は、utf8_encodeされたUTF-8だった。

解決方法

文字化けするテキスト(サイト名や概要)を、utf8_decodeでデコードすると正常に表示されるようになった。
もともと文字化けしていなかったテキストをutf8_decodeすると今度はそちらが文字化けしてしまうので、
utf8_decodeした結果UTF-8になるものだけをテキストとして採用する。

<?php
include_once 'OpenGraph.php';

$graph = OpenGraph::fetch($url);
$title = $graph->title$title_check = utf8_decode($title);
if(mb_detect_encoding($title_check) == 'UTF-8'){
    $title = $title_check; // 文字化け解消
}

$detects = array(
 'ASCII','EUC-JP','SJIS', 'JIS',
  'CP51932','UTF-16', 'ISO-8859-1'
);

// 上記以外でもUTF-8以外の文字コードが渡ってきてた場合、UTF-8に変換する
if(mb_detect_encoding($title) != 'UTF-8'){
    $title = mb_convert_encoding($title, 'UTF-8', mb_detect_encoding($title, $detects, true));
}

【XOOPS】MySQL プリペアドステートメント 書式

<?php
    $query = "SELECT column1, column2, column3"
    $query = " FROM " . $xoopsDB->prefix('sample');
    $query .= " WHERE id = ?";

    $xoopsDB->prepare($query);
    $xoopsDB->bind_param('i', $id);
    $result = $xoopsDB->execute();
    $dbdata = $xoopsDB->fetchArray($result);

条件式が複数ある時のbind_paramの設定の仕方

$query .= “ WHERE id = ? AND column_name = ?

$xoopsDB->bind_param(‘is’, $id, $name);

第1引数に、渡す値の型を指定
その文字数分の値を第2引数、第3引数…を指定する

第1引数で指定する文字列の種類は以下の通り:

case "i": intval
case "s": string
case "d": doubleval
case "b": // Exception die();

参考

XoopsCube: D:/XC2.1_alpha3/html/class/database/mysqldatabase.php ソースファイル

ボードゲームサークル"POP!!" お菓子とゲーム会に参加してきました

アナログゲームに興味があり、地元で開催されているボードゲームイベントに参加させてもらいました。

【7月2日(日)】松本市Roomsでお菓子とゲーム会
http://blog.livedoor.jp/nao_games/archives/50199825.html


今回私が遊ばせてもらったのは、

KARUBA(カルバ)


道タイルを配置し、冒険者コマを遺跡コマまで移動させるゲーム

f:id:kjtec:20170709225425j:plain

[概要]
    1.ボードの上・右端の任意の場所に遺跡を置き、下・左端に冒険者コマを置く
    2.ゲームマスターがランダムで「道」が描かれたタイルを引く
    3.プレイヤーは2で引かれたタイルと同じ手持ちのタイルをボードの上に配置し、冒険者コマが遺跡に辿りつけるように道を作る
    4.先に遺跡に到着した順に、得点がもらえる
    5.4の以外にも、道中のタイルにある金塊、クリスタルを回収することにより得点がもらえる
    6.ゲームマスターが引くタイルがなくなった時点で、最も得点を稼いでいたプレイヤーの勝ち!
 
[感想]
ルールが単純なので子供と一緒でも楽しめそう。
しかし、勝つにはルートを先読みして考えないといけないので頭も使う。
今回一番面白くて、甥姪の知育にも良さそうな気がするので買いたい。

KELTIS(ケルト)


手札カードを使用して、得点つきのコースにコマを進めていくゲーム
 
[概要]
    1.ボード上に5色のコースがあり、それぞれ9つのポイントがある。各ポイントにはそれぞれ得点がある
    2.プレイヤーに8枚の手札カードが配られる。手札には数字と色が描かれている
    3.プレイヤーは順番に手札を出していく。手札は、その色毎に、昇順か、降順に並べられる数値しか出すことができない
    4.手札を出したら、その手札の色と同色コースのポイントに、1つだけコマを進めることができる
    5.出したい手札がない場合は、ボード上にその手札を捨て新しくカードを場札から取る、捨てられた手札はほかのプレイヤーが拾うことができる
    6.6点以上のポイントに、コマが5つはいったら終了。その時点で自分のコマが置かれてるポイントに応じた得点と、各ポイントで拾った得点チップの合計点が最も多いプレイヤーの勝ち!
 
[感想]
こちらも初心者でもルールが分かりやすくて楽しかった。
欲しいカードがなかなか出てくれなくてもどかしい。

宝石の煌き


    宝石トークン(硬貨みたいなもの)と宝石カードを使って、宝石カードを買いポイントを貯めていくゲーム

f:id:kjtec:20170709230431j:plain

[概要]
    1.プレイヤーは手番ごとに次の行動のうち、どれかをすることができる
         1-1. 青・赤・白・緑・黒の宝石トークンから色違いで3枚もらう
     もしくは同色で2枚もらう。
         1-2.宝石トークンと、購入済みの宝石カードを使って、新しい宝石カードを購入する。
         1-3.まだ買えない宝石カードをキープする。この時、黄色の宝石トークももらえる。
 
         *宝石トークンで買えるカードには、黄金以外のいずれかの宝石と、得点、そのカードを得る為に支払う宝石の数が描かれてい
        *プレイヤーは宝石トークンと、購入したカードに描かれている宝石の数とで、新しいカードを購入することができる。
        この時、宝石トークンは場に返却するが、購入済みの宝石カードは何回でも使用可能。
  *宝石カードのほかに特典のついた貴族をもらうことも出来る
  *黄金トークンは5色のうち好きな色のトークンとして使える
  *宝石トークンは10枚までしか所有することが出来ない。超えた場合は返却する。
 
2.宝石カード、もしくは貴族タイルのポイントが15点になったプレイヤーの勝ち
 
[感想]
イベント終盤で集中力が切れていたのか、ルールを理解できないまま終わった。
支払いに使える宝石カードは、得点情報のないカードのみと勘違いして、頑張って無得点のカードを集める始末。
そりゃ勝てんわ。
ブログを書く為に復習して良かった。
 
 
ゲーム終了後、美味しいパンとお菓子をごちそうになりました。
主催の方々、インストをしてくださった方々、ありがとうございました!