PHP Warning: require_once(/tmp/wordpress//wp-includes/class-phpmailer.php): failed to open stream: No such file or directory in C:\Users\%User%\AppData\Local\Temp\wordpress-tests-lib\includes\mock-mailer.php on line 2
Windows10でWordpressのプラグインを作成し、ユニットテストをしようとして動かない時、WP-CLIで作成したテスト用のWordpressの設定ファイル、wp-tests-config.phpに記載されているABSPATHをWindows用に修正する必要がある
# User\AppData\Local\Temp\wordpress-tests-lib\wp-tests-config.php
define( 'ABSPATH', 'C:\ユーザ名\AppData\Local\Temp/wordpress/' );
- スタート
- 設定
- アプリと機能
- Windowsの機能の有効化または無効化
- Windows Subsystem for Linuxへチェック
- 再起動
- 設定
- 更新とセキュリティ
- 左側のメニューから開発者向けを選択
- コマンドプロンプトでbashコマンドを入力
Composerについての拙い認識
カレントディレクトリにプログラムライブラリがインストールされ、composer.jsonに何がインストールされているか管理されている。ディレクトリ毎消すと全部消えてやり直せる。
パッケージ名の書かれたcomposer.jsonさえあれば復元できる。要するに設計図・説明書。誰でも開発者と同じPHPライブラリ構成をすぐに構築できるので便利。
Windowsへのインストールの仕方
事前にPHPをインストールする。XAMPPでも良い。多分XAMPPだと楽。
composerでググって公式からソフトウェアをダウンロードして適当にインストールする。
使い方
コンソールで使う。解りやすいのだけこちらに書く。詳しくはQiitaでまとめてる人がいるのでそっちを見る。
# composer.jsonのあるカレントディレクトリで実行するとcomposer.jsonに記述されている環境が現在のプロジェクトに整う。 $ composer install # composer.jsonに記載されたパッケージを最新にする。 $ composer update # composer.jsonへパッケージを追加する $ composer require vender/package # composer.jsonへ記載されているパッケージを一覧で表示する $ composer show -i # composer.jsonへ記載されているパッケージから指定して削除する $ composer remove vender/package # vender/packageをフォークしてソースコードをぶんどってくる $ composer create-project vender/package
疑問点
WP-CliやPHPUnitなどをWindowsで利用する場合はフォーク(create-project)してC:\などのルートディレクトリへ置き、環境パスを通すのがいいのか、Globalへインストールしてそちらに環境パスを通すのがいいのか解らない。
requireでvenderディレクトリをルートに作り?そこにぶっこんでくのとどう違うのか?ローカル環境なら何でもいいのか。何が正解なのか解ってない。
公式https://make.wordpress.org/cli/handbook/installing/を読む。とにかく読む。
Composerを使う場合
公式https://make.wordpress.org/cli/handbook/installing/#installing-via-composerを読む
- Composerをインストールした状態でカレントをC:\にしてcomposer create-project wp-cli/wp-cli --no-devをする。
- コントロールパネル>システム>システムの詳細設定から環境変数を追加する。ここでは"c:/wp-cli/bin"。
Composerを使わずwp-cli.pharからインストールする場合
公式https://make.wordpress.org/cli/handbook/installing/#installing-on-windowsを読む
- https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.pharからwp-cli.pharをダウンロードする。
- 適当なディレクトリに置く。公式だとルートc:\wp-cli。
- wp.batという名前の空ファイルを作り、c:\wp-cliへ入れる。
- wp.batへ
@ECHO OFF
という内容を記述して保存。
php "c:/wp-cli/wp-cli.phar" %* - コントロールパネル>システム>システムの詳細設定から環境変数を追加する。ここでは"c:/wp-cli/bin"。
例えば、渋谷駅
- JR 山手線 渋谷駅 ハチ公口 徒歩5分
- JR 埼京線 渋谷駅 新南口 徒歩10分
- 東京メトロ 銀座線 渋谷駅 ハチ公口 徒歩5分
- 東京メトロ 副都心線 渋谷駅 宮益坂口 徒歩10分
- 東急東横線 渋谷駅 正面口 徒歩5分
- 京王井の頭線 渋谷駅 中央口 徒歩6分
「どんだけあるじゃ!!!!!!!!!!!」とかなるので、一番近そうな路線のみの表記が良いのかもしれない。
この例だとこういう表記のみにするとか?
- JR 渋谷駅 ハチ公口 徒歩5分
でも、これだとちょっとわかり難いけど、例えば京王線の聖蹟桜ヶ丘とかに住んでいたとして、普段鉄道を使わない人だったらJRまでどう行けばいいのか解らないんじゃ?
そんなところまでケアする必要はなく、行ったことがある人には解るので見やすい方優先が良いと思う。
ならば池袋のサンシャインシティに行くには・・・?東池袋駅の方が近いよ?東池袋四丁目駅もあるよ?向原駅からくる人もいるかもしれない。
新宿は?新宿駅?新宿三丁目駅?西武新宿駅?都庁前駅?どこが近くて誰にとってわかりやすいのだろうか。
妥協点は何処だと思いますか?
最近のコメント