本記事の概要
- 愛する後輩たちに向けた紹介記事
- XAMMPのhtdocsにシンボリックリンクを作ることで開発場所の自由度を上げる方法を紹介
- そのうち使うlinuxのコマンド
cd
ls -l
ln -s
コマンドをついでに使える
PHPの開発は好きなところでやりたい
はじめに
環境
OS:Windows 11 Home
開発環境:XAMMP
各種設定ファイル:デフォルトまま
ターミナル:Git Bash
XAMMPを使用した開発をする際に
ブラウザ上で表示をするにはC:/xammp/htdocsいかにプロジェクトフォルダを配置する必要があります。
何も考えずに開発をすると下記のようになります。
- htdocs内のプロジェクトフォルダ内でそのまま開発する
- 他所で開発したデータをコピーして配置する
久しぶりにデータを除きに行くと、
あれ…これが最新でいいんだっけ?
となることしばしば、Githubからクローンしてもいいんですが、そこまではちょっと面倒。
可能であれば、開発はいつもここでという場所を作っておきたいところ。
シンボリックリンクを作ろう。mklinkではなくlnコマンドで
この課題の対処として、まずxammpの設定ファイルを変更する手法があります。1
判定:却下
いちいちやりたくない。設定方法を忘れる。設定したことすら忘れる。
ということで、別の手法をとりたいです。本当は設定ファイルをかっこよく使いこなしたいが…
そこでシンボリックリンクを使った方法です。
シンボリックリンクって?
ファイル・フォルダのリンクを作成するが、
作成した場所にあるもののようにアクセスできる状態を作るもの
例えばhtdocs下に開発用のディレクトリにおけるフォルダapp1のシンボリックリンクを作成した場合
htdocs/app1としてファイルを参照・編集できるようになるのです。
windowsでシンボリックリンクを作る際は
があげられます。
linuxのコマンドの方は色んな所で使うので、ln
コマンドを実行することにします。
タイトル回収「俺のシンボr」
コマンド実行した結果
早速シンボリックリンクを作ってみました。
ln -s "/c/Users/Watashi no Name/dev/sample_project" "/c/xammp/htdocs/sample_project"
実行するとhtdocs下にsample_projectが現れました。
めだたしめでた…くなかった。
実はこれ、リンクなんかじゃないんです。
ファイルの変更が反映されない。
なにこれ
シンボリックリンクか確認してみる
シンボリックが正しく作成されていた場合、ls -l
で確認すると リンク先->リンク元
として表示されるそうなので見てみましょう。-l
オプションを忘れずに。
# cdコマンドでhtdocsに移動
cd /c/xammp/htdocs
# ls -l でフォルダ内のファイル・フォルダ一覧を表示
ls -l
結果は
...
...
lrwxrwxrwx 1 user user 12 Jan 1 12:34 sample_project
...
リンク先->リンク元
の形式で表示されない…つまりこれハードコピーされた状態なんです。なんでや!
疑問の解消・解決手法
windowsのデフォルトはシンボリックリンクの作成がハードコピーになるようです。
グループポリシーを変更してシンボリックリンクの作成を許可する必要があると。
win11 proの場合はその設定を変更するツールが標準で使えるらしいが、homeだとそれがない。
homeの場合は外部のソフトを使うことで変更が可能です。
↓先人の教えありがたいやつ
やることは簡単でした。↑の記事に従い
- polseditで権限付け
- 環境変数の追加@GitBash
サインアウト➡ログインをして
サイドシンボリック作成のコマンドを実行してみる。
アイコンがなんかリンクっぽくなった。いけてそう!
もう一度ls -l
で確認すると
ls -l
...
...
lrwxrwxrwx 1 user user 12 Jan 1 12:34 sample_project -> xxxxxxxxxxxxx
...
矢印付きでちゃんとシンボリックリンクが作成できました。
どちらか一方にデータを追加・編集すると、もう一方に反映されていることが確認できます。
開発を別のフォルダで進めてもxammpのhtdocs内にあるもののように参照されるので、一度シンボリックリンクを作ってしまえばあとはよしなに出来ちゃうぞと。