LoginSignup
1

posted at

updated at

MacにデフォルトでPHPがインストールされなくなったのでdockerを使ってサクッとPHPを実行できるようにしてみた。

その時PHPerに電流走る・・・!!

zsh: command not found: php

昨日まで使えていたPHP・・・俺たちのPHPが・・・

なんて少し前からMacOSにデフォルトで入っていたPHPが使えなくなることは界隈では
ちょくちょく耳にしていたのでさほど驚きはしませんでしたが、Montereyアップデート後からぬるりとなくなっていたので笑いました。

直接PHPをインストールしてもいいですが、母艦の環境を汚したくない民として今回はdockerとzshのエイリアスでサクッとPHPを実行できるようにしてみました。
よければ参考にしてください。
下記のような形でPHPが実行できるようになります。

$ dphp xxxx.php

dockerイメージをpull

docker hubから最新のPHPのイメージをpullします。

$ docker pull php
$ docker image ls
php                                   latest    7c7914343522   11 days ago      446MB

関数を追加

下記を.zshrcに追記します。
commandをつけないと自らを再帰的に実行してしまうみたいなので忘れずに付けましょう。
関数名がそのままコマンド名になります。
docker + php でdphpにしています。

~/.zshrc
function dphp() {
  command docker run  --rm  -v ${PWD}:/src/ php bash -c "cd /src && php $1"
}

帰ってこい!俺たちのPHP!!!

zshをリスタートしてコマンドが通るか試してみます。

$ zsh
$ dphp -v
PHP 8.1.10 (cli) (built: Sep 13 2022 10:30:01) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.10, Copyright (c) Zend Technologies

おおお!ちゃんとそれっぽく実行できています。

phpファイルの実行

ちょうどいいいところにサンプルのPHPがあったので下記を実行してみます。

test.php
<?php
echo "いいねください!!!";
$ dphp test.php
> いいねください!!!

以上です。
dockerやphpやシェルに詳しい方ならもっといい方法とかご存じだと思いますのでよかったらコメントで教えてください!

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
What you can do with signing up
1