■ローカルPCにアクセスする
コマンドプロンプトでipconfigを実行すると、自身のIPアドレスを確認できる 以下のように表示される場合、http://192.168.1.25/ にアクセスすると http://localhost/ へアクセスできる。 (同一LAN内である必要がある。XAMPPなどでWebサーバを用意しておく必要はある。) 同一LAN内のPCやiPhoneなどからアクセスできるので、動作テストに便利。 >ipconfig Wireless LAN adapter ローカル エリア接続* 2: メディアの状態. . . . . . . . . . . .: メディアは接続されていません 接続固有の DNS サフィックス . . . . .: イーサネット アダプター イーサネット: 接続固有の DNS サフィックス . . . . .: リンクローカル IPv6 アドレス. . . . .: fe80::f8bc:71b1:bd6d:2f79%10 IPv4 アドレス . . . . . . . . . . . .: 192.168.1.25 サブネット マスク . . . . . . . . . .: 255.255.255.0 デフォルト ゲートウェイ . . . . . . .: 192.168.1.1
■PHP
C:\xampp\php\php.ini … PHPの設定ファイルを編集
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT error_reporting=E_ALL ;mbstring.language = Japanese mbstring.language = Japanese … 行頭の ; を削除 ;mbstring.internal_encoding = mbstring.internal_encoding = UTF-8 … 行頭の ; を削除し、UTF-8 に設定 ;mbstring.http_input = mbstring.http_input = pass … 行頭の ; を削除し、pass に設定 ;mbstring.http_output = mbstring.http_output = pass … 行頭の ; を削除し、pass に設定 ;mbstring.encoding_translation = Off mbstring.encoding_translation = … 行頭の ; を削除 ;mbstring.detect_order = auto mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII … 行頭の ; を削除し、auto を UTF-8,SJIS,EUC-JP,JIS,ASCII に修正 ;mbstring.substitute_character = none mbstring.substitute_character = none … 行頭の ; を削除 ;mbstring.func_overload = 0 mbstring.func_overload = 0 … 行頭の ; を削除 ;mbstring.strict_detection = On mbstring.strict_detection = Off … 行頭の ; を削除、Off に設定 date.timezone=Europe/Berlin date.timezone=Asia/Tokyo … Asia/Tokyo に設定
■MySQL
参考:XAMPP/PHP5.5.27~mySQLの初期パスワード設定 http://ginneko-atelier.com/blogs/web/366/ XAMPPのコントロールパネルから「Shell」を立ち上げて以下を実行する この場合、「root」のパスワードが「1234」になる mysqladmin --user=root password "1234" C:\xampp\phpMyAdmin\config.inc.php … phpMyAdminの設定ファイルを編集
$cfg['Servers'][$i]['password'] = '1234';
■バーチャルホスト
C:/xampp/apache/conf/extra/httpd-vhosts.conf … Apacheのバーチャルホスト設定ファイルを編集
NameVirtualHost *:80 … #を削除(コメントを解除) <VirtualHost *:80> … localhost用の設定を追加 DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:80> … main.localhost用の設定を追加 DocumentRoot "C:/localhost/home/test/public_html" ServerName main.localhost </VirtualHost> <Directory "C:/localhost/home/test/public_html"> order deny,allow allow from ALL </Directory>
C:/windows/System32/drivers/etc/hosts … hostsファイルを編集
127.0.0.1 localhost 127.0.0.1 refirio.localhost … refirio.localhost用の設定を追加
LAN内の他のPCからアクセスさせる可能性を考えれば、「refirio.localhost」というアドレスで構築するのはややこしいかも 「.example」か「.test」が良さそうだが、「.example」は「例示用」なので「.test」にしておくのが良さそう 「.local」「.app」なども思いつくが、「.app」は存在するドメインみたいなので好ましくないみたい ただし、Microsoftの技術資料では「.local」が紹介されていたりするらしい ただし、Laravel Homestead では「homestead.app」が紹介されている 参考:windows7のXAMPPでバーチャルホストの設定をする http://wp.yat-net.com/?p=2400 参考:予約済みドメイン (.example, .localhost, .test) について | blog.jxck.io https://blog.jxck.io/entries/2017-09-27/example-local-test-domains.html 参考:Google、TLD「.app」を史上最高額の2500万ドルで落札 - ITmedia NEWS http://www.itmedia.co.jp/news/articles/1502/27/news119.html 参考:例示/実験用として利用できるドメイン名 − @IT http://www.atmarkit.co.jp/fwin2k/win2ktips/801exampledom/exampledom.html 参考:Mac が参加するADのドメイン名で .local を使わないでください。 https://www.picturecode.co.jp/faq/dot-local-domain/
■ユーザディレクトリ
C:\xampp\apache\conf\httpd.conf … Apacheの設定ファイルを編集
#LoadModule userdir_module modules/mod_userdir.so LoadModule userdir_module modules/mod_userdir.so Include conf/extra/httpd-userdir.conf
C:\xampp\apache\conf\extra\httpd-userdir.conf がユーザディレクトリ用の設定ファイルなので、 一例を上げると以下のように設定し、Apacheを再起動する。
UserDir "C:/localhost/home/*/public_html" … ユーザディレクトリの場所を設定 <Directory "C:/localhost/home/*/public_html"> … 開発環境なら、諸々の設定を許可しておくといい AllowOverride All Options All Require all granted </Directory>
上の場合、C:/localhost/home/refirio/public_html/index.html には /~refirio/ でアクセスできるようになる
■PHPのxdebugを使う
C:\xampp\php\php.ini の最後に以下を追加する
[XDebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
Apacheを再起動し、phpinfo() でxdebugが有効になっていることを確認する (「xdebug」で検索して項目が表示されていることを確認する) この時点で、ErrorやNoticeなどの結果が見やすいものに変わる var_dump の結果も見やすいものに変わる
■PHPのComposerを使う
https://getcomposer.org/ の「Download」をクリック 「Manual Download」にある「Latest Snapshot」をクリックして composer.phar を保存 vendorフォルダを作りたい場所へコピーする composer.phar をコピーした場所へコマンドプロンプトで移動し、以下を実行する Composerの画面が表示されれば成功。(PHPのパスは環境によって調整する。) C:\xampp\php\php.exe composer.phar Composerをより簡単に使えるようにするため、同じ場所に composer.bat を作成して以下を記述する @ECHO OFF C:\xampp\php\php.exe "%~dp0composer.phar" %* これで単に composer と入力するだけでComposerを実行できる。 またインストール対象によっては、あらかじめPHPのあるディレクトリにパスを通しておく必要がある (パスなしでPHPを呼び出している箇所があるため) もしエラーになったら、C:\xampp\php にパスを通しておく(WindowsでXAMPPを使用している場合) ■Goutteのインストール例 動作確認のためにGoutte(「グットゥ」「グット」のように発音。フランス語で「しずく」「水滴」の意味)をインストールしてみる コマンドプロンプトから以下を実行する composer require fabpot/goutte しばらく待つと「vendor」「composer.json」「composer.lock」が作られ、インストールが完了する。 composer.json には require で取り込んだライブラリとそのバージョンが記述される このファイルは手動で作成することもできる。その場合 composer install として実行すると、必要なパッケージを自動でダウンロードしてくれる 以下のようにしてPHPからGoutteを呼び出す。
<?php // Composerのオートロードを有効にする require 'vendor/autoload.php'; // 対象URL $url = "http://oto.chu.jp/mmlbbs6/index.php?action=fav_memory"; // Goutte\Clientの生成 $client = new Goutte\Client(); // Webから取得 $crawler = $client->request('GET', $url); // CSSセレクタを指定して要素を取り出す $crawler->filter('table tr')->each(function($e) { // <tr>を見つけるたびに実行される部分 $td = $e->filter('td'); $count = $td->eq(0)->text(); $title = $td->eq(1)->text(); $link = ""; $o = $td->eq(1)->filter('a')->extract(array('href')); if ($o) { $link = $o[0]; } $author = $td->eq(2)->text(); echo "$title,$author,$link\n"; });