gulp4で、PHPを、browserSyncで更新したい。。でもgulp-connect-phpはうまくなかった・・・。
結局MAMPで解決。
gulp4で、PHPを、browserSyncでリロードしたいと思ったら
gulp4でPHPをbrowserSyncでリロードしたくて、無駄に苦労したので・・・覚え書き。
参考サイトで目にするgulp-connect-phpを使った簡易的なPHP環境を試してみましたが、結果ダメ。
拡張子.phpなら動きますが、拡張子.htmlで中のPHPは動いてくれませんでした。
rootに.htaccessでphpを許可しろ、という書き込みもありましたが、Apacheじゃないし当然ダメ。
結局、最短でgulpからphpを楽にbrowserSyncでリロードするには、自分のレベルではMAMP立てるのが一番手っ取り早い・・・となりました。
browserSyncの設定はMAMPのポートに合わせるのを忘れずに。
gulpfile.js
// browser-sync
gulp.task('browser-sync', () => {
browserSync.init({
baseDir: 'htdocs/dist',
proxy: 'localhost:8888',
});
});
browserSyncでphpファイルをリロードしたい・・・ここでもハマりました。
参考サイト
https://qiita.com/ma_me/items/802059e8f1fadcb691eb
serverオプションとproxyオプション、、、そんなのあるの??
公式マニュアルは見ておくべきですね・・。
gulpfileは動くっちゃ動くけど、ポートがかぶってると言われて、PHPは表示されず。
gulp-connect-phpで指定したポートを覗くとPHPがレンダリングされている、って感じでした。
リロードするならproxyで設定が必要です。
結局MAMP入れました。HTML拡張子にて、ソース内のPHPを動作させるには要設定
ということで、コンソールからの方法はスルーして・・・結局MAMP入れました。
初心者にとっては、とにかく分かりやすくて使いやすいですね。。
DocumentRootもgulpのあるいつも使ってるディレクトリに持ってきちゃうと楽だと思います。
で、本題に戻ると
拡張子.phpは動くけど、拡張子.htmlのままだと動かない。
<?php
〜
?>
部分がスルー。HTMLとしては問題なく表示される。
まず、サーバー自体(MAMP)としての設定を追加。
/Application/MAMP/conf/apache/httpd.conf の138行目、下記を変更
AddType application/x-httpd-php .php .phtml
上記に下記を追加します
AddType application/x-httpd-php .php .phtml .html .htm
で動くかな・・・と思いきや、ダメ。
上記だけじゃダメでした・・・
さらにもうひと手間。
この状態だと、拡張子.HTMLを開くと、ファイルとしてダウンロードされてしまう。
ApacheとしてHTMLを認識していない様子・・・
サーバー使用者(いつもどおりFTPでアクセスする1ユーザー)として、PHPを許可する下記設定の追加を。
.htaccessを置いてたはず・・・
Xサーバー上でPHPを動かしたくていつも使っている.htaccessを置いてあったはず・・と確認してみると下記の状態。
AddHandler x-httpd-php .html
ああ、、
純正の下記に書き換え
AddType application/x-httpd-php .php .html
無事にindex.html内のPHPが動きました。
無駄に遠回りせず、素直にMAMP入れて動かしたほうが早かったと反省でした・・・。
そういえばWINではこんなこともありました・・・。
-
XAMPPで社内ローカルLANにワードプレス設置。DocumentRootをNASの共有フォルダ内に設定
NAS、ネットワークドライブ内にXAMPPのDocumentRootを設定する手順を忘備録。ローカルディレクトリ内でドキュメントルートを変更するのはマニュアルど ...
続きを見る
-
XAMPPをWIN8でapacheが起動しない。原因探しのチェックリストでまさかの落とし穴。
XAMPPをWindows8にインストール。そしてやっぱり、apacheが起動しない。 ポート80、443の重複・干渉をチェック、サービスの起動もチェックするも ...
続きを見る