また旅

日々のこと、画面の中でのこと (今はIDCFクラウド、KUSANAGI、WordPress、Vagrant及びCodeIgniter).

PHP WordPress

WindowsにzipでPHP、MariaDB、Xdebug及びWordPressをインストールして開発環境を作ってみた

2016/07/25

Windwosのバージョンは7(64ビット)です。以下、ダウンロードするファイルは環境により異なります。8.1 Proでも動作確認済み。

まずはPHPのインストール

PHP For Windows: Binaries and sources Releases
から
VC14 x64 Thread Safe をダウンロード、解凍して C:\php としました。

フォルダ内のphp.ini-developmentをコピーしてphp.iniにリネーム。ファイルを開いて下記の通り修正(下記は色々な個所からの抜粋です)。他に必要なエクステンションがあれば修正して下さい。最後の3行はXdebug用でついでなのでファイルの最後に追加。

extension_dir = "ext"

extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysqli.dll

date.timezone = Asia/Tokyo

zend_extension=php_xdebug.dll
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

※2016.7.25追記、下のも有効にしないとWordPressでプラグインやテーマのダウンロードができません。

extension=php_curl.dll

 

次にXdebug

Xdebug: Downloads
から
PHP 7.0 VC14 TS (64 bit) をダウンロードして C:\php\ext にインストール(入れるだけ)してphp_xdebug.dllにリネーム。

 

続いてMariaDB

MariaDB 10.1.13 Stable - MariaDB
から
mariadb-10.1.13-winx64.zip をダウンロード(No thanks, just take me to the downloadをクリック)、解凍して C:\mariadb に。

フォルダ内のmy-small.iniをコピーしてmy.iniにリネーム。とりあえずそのままでもWordPressは動作した。

 

そしてWordPress

最後にWordPressをダウンロードしてC:\php\www\wordpress としました。

 

動作確認

それでは動かしてみましょ~。

まずはPHPのビルトインサーバーを起動してみます。コマンドプロンプトを開いて(以下、上手くいかない場合は管理者として開くといいかもです)。

cd c:\php
php -S 127.0.0.1:80 -t www\wordpress

これで問題無い場合は下の様になります。もし「アクセス許可で禁じられた方法でソケットにアクセスしようとしました。」などと表示されたら、何かがポート80をつかんでますので、頑張って解放させるか、または80以外のポート番号に変更して下さい。

VCRUNTIME140.dllがない、というエラーが表示された場合は下記をインストールして下さい。
Download Visual Studio 2015 の Visual C++ 再頒布可能パッケージ from Official Microsoft Download Center

PHP 7.0.5 Development Server started at Thu Apr 28 22:16:12 2016
Listening on http://127.0.0.1:80
Document root is C:\php\www\wordpress
Press Ctrl-C to quit.

これでブラウザで http://127.0.0.1 にアクセスすると見慣れたWordPressのインストール画面が表示されます。されるはずです。まだデータベースが動いてませんのでとりあえずここまでで次に進みます。

 

それではMariaDBを起動します。新たなコマンドプロンプトで

cd c:\mariadb
bin\mysqld --console

これでズラズラと何かが表示されて、最後に「ready for connections.」とあれば起動完了です。MariaDBの前にMySQLも試したのですがだいーぶ面倒でした。MariaDBちょ~おすすめ~。終了もCtrl+cでOK。また新たなコマンドプロンプトを開いて、rootのパスワードは設定されてないので

cd c:\mariadb
bin\mysql -u root

付けたいならパスワード付けて、WordPress用のデータベースを作成。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx';
create database wordpress;
quit;

※2016.7.25追記、上のALTER USERがエラーになる場合は下記をお試しください。変更後、MariaDBを再起動してください。

UPDATE mysql.user SET Password=PASSWORD('パスワード') WHERE User='root';

 

さきほど表示したWordPressのインストール画面、これで先に進めますので必要な情報を入力してインストールを完了して下さい。ただし私が試した限りではインストールの最後に「Maximum execution time of 30 seconds」といったエラーが表示されました。ただしこの場合も(一見)正常にインストールは終わってます。一度PHPのビルトインサーバーをCtrl+cで終了して再度起動すると無事WordPressの見慣れた画面が表示されました。(サーバーを再起動しなくても、http://127.0.0.1にアクセスすれば見れました。)

最後にXdebug。またVisual Studio Codeで試してみました。なんとっ!って言うほどのことじゃないのかも知れませんが、デフォルトの設定で(パスなど設定せずに)ピタッ~とブレイクしてくれました。いやいや簡単過ぎる~。

どういう理由なのか分かりませんが、URLもリライト後なURLで表示されます。http://127.0.0.1/2016/04/29/hello-world/ って感じに。不思議過ぎる~。

-PHP, WordPress