HmPHPSimpleServer の設定

PHPのダウンロード

すでにご自身のPC内にて、PHPを使用している場合はダウンロードやphp.ini設定は必要ありません
PHP7以上であれば問題なく動作することでしょう。(PHP5.6でも恐らく問題なく動作します)

PHP の Windows版をダウンロード

PICTURE

  • zipファイルを右クリックし「ブロック解除」or「許可する」を適用して解答。
    一式を適当な場所にコピー。

php.ini

  • php.ini-development というファイルをコピーして、php.ini というファイルにする。
  • php.iniを適宜編集する。
    大抵は
    • 「ワーニングやエラーの閾をどうするのか?」
    • 「どのextensionを利用するのか?」
    といったあたりを変更することになるかと思います。
  • php.ini
    ;  ★ E_ALLではエラーとしてきつ過ぎると思えば、「E_ALL & ~E_DEPRECATED & ~E_STRICT」などとする。
    ; Development Value: E_ALL
    ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
    ; http://php.net/error-reporting
    error_reporting = E_ALL
    
    ・・・
    
    ; ★ extentionのディレクトリがコメントアウトされているハズなので外す
    extension_dir = "ext"
    
    ・・・
    
    ; ★ 利用予定の extention のコメントアウトを外す
    extension=curl
    extension=ffi
    extension=ftp
    extension=fileinfo
    extension=gd
    extension=gettext
    ;extension=gmp
    ;extension=intl
    ;extension=imap
    extension=mbstring
    extension=exif      ; Must be after mbstring as it depends on it
    ;extension=mysqli
    ;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
    ;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
    ;extension=odbc
    extension=openssl
    ;extension=pdo_firebird
    ;extension=pdo_mysql
    ;extension=pdo_oci
    ;extension=pdo_odbc
    ;extension=pdo_pgsql
    ;extension=pdo_sqlite
    ;extension=pgsql
                

$PHP_FULLPATH の設定 (必須)

この項目の設定は必須です。
サーバーとして利用するPHPのプログラム(インタプリタ)本体の場所を設定します。

HmPHPSimpleServer.mac
SET_PHP_SERVER_SETTINGS_INFO:

    $PHP_FULLPATH = @"C:\usr\php\php.exe"; // 手元にある php.exe へのフルパスを指定。
                                           // PCに入っていなければ、「https://windows.php.net/download」の「Zip」とあるものならどれでもOK (少々古いPHPでも問題はない)

    #NOTIFY_FILE_WATCHER = 1;              // ファイル更新等のファイル監視による自動更新を有効にする。
    

動作確認

test.php
<?php
phpinfo();
?>

などとして、HmPHPSimpleServer.mac を実行して、ブラウザ枠に表示されるか確認しよう。

自分が読み込みたい「extention」など(例:mbstringやcurlなど)が読み込まれているのかも確認しよう

PICTURE

編集中のファイルの保存等による更新の監視をするか・しないか

#NOTIFY_FILE_WATCHER に 0 を設定すると、更新の監視は行わないようになります。

HmPHPSimpleServer.mac
SET_PHP_SERVER_SETTINGS_INFO:

    $PHP_FULLPATH = @"C:\usr\php\php.exe"; // 手元にある php.exe へのフルパスを指定。
                                           // PCに入っていなければ、「https://windows.php.net/download」の「Zip」とあるものならどれでもOK (少々古いPHPでも問題はない)

    #NOTIFY_FILE_WATCHER = 1;              // ファイル更新等のファイル監視による自動更新を有効にする。

    

編集中のファイルだけではなく、他のファイルも更新を監視する場合の指定

$NOTIFY_FOLDER_CHANGE_FILTER を指定すると、直接編集しているファイルだけではなく、
「ドキュメントルート」以下に存在するファイルが変更された場合でも、ブラウザ枠がリロードされるようになります。

HmPHPSimpleServer.mac
    #NOTIFY_FILE_WATCHER = 1;              // ファイル更新等のファイル監視による自動更新を有効にする。

    $NOTIFY_FOLDER_CHANGE_FILTER = "\.php|\.html|\.htm|\.css|\.js|\.png|\.jpg|\.jpeg";
                                           // 編集しているファイルのみならず、httpのドキュメントルートフォルダ以下(サブフォルダ含む)の
                                           // 「指定のファイル郡が変更・追加された時、自動的にリロード」するかを決める。
                                           // .phpが実行されると新しくファイルを書き換えるような実装では、無限リロードになりかねないので扱いに注意すること。
    

ドキュメントルートを特別に指定する

デフォルトでは「編集しているファイルのディレクトリ」をドキュメントルートとします。
これを「編集しているファイルのディレクトリ」ではなく「特定のディレクトリに指定したい場合」に利用します。

HmPHPSimpleServer.mac
$PHP_DOCUMENTROOT = getarg(0);         // PHPサーバーのドキュメントルート。空白なら「秀丸で開いているファイルのフォルダー」がドキュメントルート。
                                        // 通常はこのまま空白でOK。このマクロに対して引数として渡すことが出来る。
                                        // 「execmacroで引数付き」やブックマークの「mac:"****\\HmPHPSimpleServer.mac" "C:\test"」といったように使用することが出来る。
    

このマクロ HmPHPSimpleServer.mac に対して引数として渡すことが出来る。

別マクロから

execmacro hidemarudir + @"\HmPHPSimpleServer\HmPHPSimpleServer.mac" "C:\\test"

などとしたり、

秀丸のブックマークにて

mac:"****\HmPHPSimpleServer.mac" "C:\test"

といったように使用することが出来る。
ブックマークでは、「\」を「\\」などと2つ付けないように注意してください。