0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

俺のシンボリックリンクがシンボリックリンクじゃない…だと…win11 home

Posted at

本記事の概要

  1. 愛する後輩たちに向けた紹介記事
  2. XAMMPのhtdocsにシンボリックリンクを作ることで開発場所の自由度を上げる方法を紹介
  3. そのうち使うlinuxのコマンドcd ls -l ln -sコマンドをついでに使える

PHPの開発は好きなところでやりたい

はじめに

環境
OS:Windows 11 Home
開発環境:XAMMP
各種設定ファイル:デフォルトまま
ターミナル:Git Bash

XAMMPを使用した開発をする際に
ブラウザ上で表示をするにはC:/xammp/htdocsいかにプロジェクトフォルダを配置する必要があります。
何も考えずに開発をすると下記のようになります。

  1. htdocs内のプロジェクトフォルダ内でそのまま開発する
  2. 他所で開発したデータをコピーして配置する

image.png

久しぶりにデータを除きに行くと、

あれ…これが最新でいいんだっけ?

となることしばしば、Githubからクローンしてもいいんですが、そこまではちょっと面倒。
可能であれば、開発はいつもここでという場所を作っておきたいところ。

シンボリックリンクを作ろう。mklinkではなくlnコマンドで

この課題の対処として、まずxammpの設定ファイルを変更する手法があります。1

判定:却下
いちいちやりたくない。設定方法を忘れる。設定したことすら忘れる。

ということで、別の手法をとりたいです。本当は設定ファイルをかっこよく使いこなしたいが…
そこでシンボリックリンクを使った方法です。
image.png

シンボリックリンクって?
ファイル・フォルダのリンクを作成するが、
作成した場所にあるもののようにアクセスできる状態を作るもの
例えばhtdocs下に開発用のディレクトリにおけるフォルダapp1のシンボリックリンクを作成した場合
htdocs/app1としてファイルを参照・編集できるようになるのです。

windowsでシンボリックリンクを作る際は

  1. mklinkコマンドを使用[cmdかPowershell] 2 ※要管理者権限
  2. lnコマンドを使用する[Git Bash] 3

があげられます。
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の場合は外部のソフトを使うことで変更が可能です。
↓先人の教えありがたいやつ

やることは簡単でした。↑の記事に従い

  1. polseditで権限付け
  2. 環境変数の追加@GitBash

サインアウト➡ログインをして
サイドシンボリック作成のコマンドを実行してみる。
image.png
アイコンがなんかリンクっぽくなった。いけてそう!
もう一度ls -lで確認すると

ls -l
...
...
lrwxrwxrwx 1 user user 12 Jan 1 12:34 sample_project -> xxxxxxxxxxxxx
...

矢印付きでちゃんとシンボリックリンクが作成できました。
どちらか一方にデータを追加・編集すると、もう一方に反映されていることが確認できます。
開発を別のフォルダで進めてもxammpのhtdocs内にあるもののように参照されるので、一度シンボリックリンクを作ってしまえばあとはよしなに出来ちゃうぞと。

  1. https://simpleonesoft.com/blog/xampp_localdev/

  2. https://blackmagicdesign-creatorscom.jp/cmd-mklink/

  3. https://qiita.com/takuyanin/items/3682ac19bbbc21792849

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?