こんにちは〜
今日やりたいのは、phpをlocalhostで起動させ、別端末でそのphpにアクセスしたいと思ったので、そのやり方を考えてみる。
環境:
Mac Catalina
iPhone 13
php 7.4.4
前提:同じwi-fiに繋いでること
まずは普通に解放する。
% php -S localhost:8080 -t ./
※フォルダ名が長いこともあり、./のところにドキュメントルートかくと大変なので、そのフォルダでターミナルを開いて実行してます。必要に応じて書き換えてください。
これで、Mac上では「http://localhost:8080/index.php」などでアクセスできるようになる。
じゃあ、iPhoneでアクセスするには?
「http://localhost:8080/index.php」→もちろんできない
localhostをmacのIPv4アドレスにするとアクセスできるらしいので、
「http://XXX.XX.XX.XXX:8080/index.php」(Xは必要に応じて書き換えてください)
でアクセスしてみるが、これもできなかった。
ファイアーウォールが邪魔しているのかも?と思い、切ってみるも変わらず。
次にbluetoothでつないで、「システム共有」→「共有」に書いている
「XXXXXX.local」(特にいじっていない場合はコンピュータ名+.local)
でアクセスすると繋がるらしい。試してみる。
「http:/XXXXXX.local//index.php」
これもできない。(ちなみにwwwがあると無理らしいので取り除くもこれもダメ)
もう少し調べてみると、上の.localの前にハイフン「-」があると不具合が起きる、とのことなので、これを取り除いてみるが、これもダメ。
そして思いつく。そもそもlocalhostじゃなくていいのでは?
% php -S XXX.XX.XX.XXX:8080 -t ./
(※Xにはipv4の値。他の値で実行できるのかは不明)
これで解放してみると、iPhoneでも無事接続できた!
ただlocalhostで接続できないので、macも上記urlになるが。。
※一応iPhoneのwi-fiを切るとアクセスできないので、ローカルでしか繋がらないとは思うが、調べて出てきたやり方じゃないので、操作は自己責任でお願いします。
ではまた〜