WordPressの開発環境VCCWのメモです。
$ vagrant up
$ vagrant ssh
/home/vagrant
/var/www/wordpress
vagrant
実行ユーザーは下記スクリプトで確認できます。
<?php
echo `whoami`;
/usr/bin/php
/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ユーザーが読み書きできるよう設定してください。)
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
/etc/php.d/xdebug.ini
; Enable xdebug extension module
zend_extension=/usr/lib/php/modules/xdebug.so
VirtualBoxのIPアドレスはifconfigコマンドで調べることができます。
(以下192.168.33.1と仮定します。)
$ ifconfig
vboxnet0: ...
ether ...
inet 192.168.33.1 netmask 0xffffff00 broadcast 192.168.33.255
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/)
$ sudo service httpd restart
PhpStormの電話マークをクリックしListenの状態にします。
Listenの状態でブラウザでvccw.devへアクセスするとIncoming Connection from Xdebugダイアログが表示されます。
Acceptを選択すると下記サーバー項目が設定されます。
Languages & Frameworks > PHP > Serversへvccw.devが設定されています。
(Languages & Frameworks > PHP > Serversの設定を最初に行うこともできます。)
/usr/sbin/httpd
/etc/httpd/conf/httpd.conf
ログはhttpd.confで設定されています
ErrorLog /var/log/httpd/error.log
/home/vagrant/.composer
$ cd /home/vagrant/.composer
composer.jsonへphpdocumentor追加します。
{
"require": {
"squizlabs/php_codesniffer": "*",
"phpdocumentor/phpdocumentor": "2.*"
}
}
phpdocumentorをインストールします。
$ composer update
composer.jsonのあるディレクトリで上記コマンドを実行するとcomposer.jsonの内容をもとにアップデートします。
VCCWはデフォルトでインストール済みです。
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>
管理者ユーザーです。
VCCWにデフォルトで設定されています。
ユーザー名: root
パスワード: wordpress
テーマ、プラグイン開発用のMySQLユーザーです。
VCCWにデフォルトで設定されています。
操作できるデータベースはwordpressのみです。
ユーザー名: wordpress
パスワード: wordpress
データベース: wordpress
Data Source > MySQLを選択します。
例としてVCCWのIPアドレスが192.168.33.10のときは下記のような設定になります。
VCCWのIPはprovision/default.ymlへ記載されています。
# Network Settings
#
hostname: vccw.dev
ip: 192.168.33.10
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。