ローカル開発環境 VCCWのメモ : WordPress

Pocket

WordPressの開発環境VCCWのメモです。

Vagrant起動・SSHログイン

$ vagrant up
$ vagrant ssh

ホーム

/home/vagrant

開発パス

/var/www/wordpress

PHP

PHP実行ユーザー

vagrant

実行ユーザーは下記スクリプトで確認できます。

<?php
    echo `whoami`;

PHPプログラムパス

/usr/bin/php

PHP設定ファイルパス(php.ini)

/etc/php.ini

php.iniのパスはシェルで確認できます。

$ php --info | grep php.ini
Configuration File (php.ini) Path => /etc

または

$ php -r "phpinfo();" | grep php.ini
Loaded Configuration File => /etc/php.ini

エラー制御

エラー制御はphp.iniで設定します。
php.iniで設定値はini_set関数を使いPHPファイルで上書きできます。
(よってWordPressのwp-config.phpの設定で上書きされます。)

エラー表示制御

php.iniで下記設定を行うとエラーは画面に表示されません。
(php.iniの設定は公開サイトではこの設定が推奨です。)

error_reporting = E_ALL
display_errors = Off

php.iniで設定値はini_set関数を使いPHPファイルで上書きできます。。
WordPressはwp_config.phpのWP_DEBUG定数でphp.iniを上書きしエラーを表示します。

define( 'WP_DEBUG', true );

エラーログ設定

php.iniでエラーログをファイルへ出力できます。

log_errors = On
error_log = /var/log/php_errors.log

PHPの実行ユーザーはvagrantです。php_errors.logファイルの実行権限に注意してください。
(/var/logディレクトリの所有者はrootです。php_error.logは
vagrantユーザーが読み書きできるよう設定してください。)

Xdebug

VCCWはXdebugがインストール済みです。
シェルで確認できます。

$ php --info | grep Xdebug
with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans

または

$ php -r "phpinfo();" | grep Xdebug
with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans

Xdebug設定ファイル(xdebug.ini)

/etc/php.d/xdebug.ini

; Enable xdebug extension module
zend_extension=/usr/lib/php/modules/xdebug.so

PhpStormリモートデバッグ

VirtualBoxのIPアドレスはifconfigコマンドで調べることができます。
(以下192.168.33.1と仮定します。)

$ ifconfig

vboxnet0: ...
    ether ...
    inet 192.168.33.1 netmask 0xffffff00 broadcast 192.168.33.255

Xdebugの設定(xdebug.ini)

xdebug.iniへ下記設定を追加します。

$ sudo vi /etc/php.d/xdebug.ini


xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_host="192.168.33.1"
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/tmp"
xdebug.max_nesting_level=1000
xdebug.idekey = "PHPSTORM"

xdebug.remote_hostはifconfigで調べた値を入力します。
xdebug.remote_portはPhpStromのLanguages & Frameworks > PHP > Debug > Xdebugに記載されているポート番号を設定します。
xdebug.idekeyはPHPSTORMを設定します。下記アドレスで確認できます。
(https://www.jetbrains.com/phpstorm/marklets/)

httpdの再起動

$ sudo service httpd restart

PhpStormサーバー設定

PhpStormの電話マークをクリックしListenの状態にします。
Listenの状態でブラウザでvccw.devへアクセスするとIncoming Connection from Xdebugダイアログが表示されます。
Acceptを選択すると下記サーバー項目が設定されます。
Languages & Frameworks > PHP > Serversへvccw.devが設定されています。
(Languages & Frameworks > PHP > Serversの設定を最初に行うこともできます。)

Apache2(VCCW)

デーモン

/usr/sbin/httpd

設定ファイル

/etc/httpd/conf/httpd.conf

ログ

ログはhttpd.confで設定されています

ErrorLog /var/log/httpd/error.log

Composer

/home/vagrant/.composer
  • PHP_CodeSniffer
    VCCWはデフォルトでインストール済です。
  • phpDocumentor

ComposerへphpDocumentorを追加

$ cd  /home/vagrant/.composer

composer.jsonへphpdocumentor追加します。

{
    "require": {
        "squizlabs/php_codesniffer": "*",
        "phpdocumentor/phpdocumentor": "2.*"
    }
}

phpdocumentorをインストールします。

$ composer update

composer.jsonのあるディレクトリで上記コマンドを実行するとcomposer.jsonの内容をもとにアップデートします。

WP-CLI

VCCWはデフォルトでインストール済みです。

WP-CLI実行ディレクトリ

wp-config.phpが配置されているディレクトリで実行します。

インストールの確認

$ wp --info

実行例

//プラグインの有効化・無効化
$ wp plugin activate <plugin-name>
$ wp plugin deactivate <plugin-name>

// プラグインの土台作成
$ wp scaffold plugin <plugin-name>

// 単体テスト雛形作成
wp scaffold plugin-tests <plugin-name>

MySQL

root

管理者ユーザーです。
VCCWにデフォルトで設定されています。

ユーザー名: root
パスワード: wordpress

wordpress

テーマ、プラグイン開発用のMySQLユーザーです。
VCCWにデフォルトで設定されています。
操作できるデータベースはwordpressのみです。

ユーザー名: wordpress
パスワード: wordpress
データベース: wordpress

PhpStormのDB設定

phpstorm-mysql

Data Source > MySQLを選択します。

例としてVCCWのIPアドレスが192.168.33.10のときは下記のような設定になります。

phpstorm-mysql-properties

VCCWのIPはprovision/default.ymlへ記載されています。

# Network Settings
#
hostname: vccw.dev
ip: 192.168.33.10

テーマ開発

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。