投稿

8月, 2026の投稿を表示しています

macOSから同じネットワーク内のMariaDBにアクセスできるか確認するPHPコマンド

Mac miniにインストールしたAIエージェントから、同じネットワーク内のFreeBSD上にあるMariaDBにリモート接続できるか確認したときの覚書。 Mac環境:  Mac mini 2024, Tahoe 26.5.2 Mac miniにはWindowsからSSH接続してる。 curlコマンドで接続できるか確認(ポートが空いていて待ち受け状態になっているか) % curl -s --max-time 2 telnet://192.168.10.109:3306 | strings | head -1 確認のためだけにMariaDBをインストールしたくないので、すでにインストール済みのPHPを使う。 バージョン確認。 % php --version PHP 8.5.9 (cli) (built: Jul 28 2026 13:06:52) (NTS) Copyright (c) The PHP Group Built by Homebrew Zend Engine v4.5.9, Copyright (c) Zend Technologies     with Zend OPcache v8.5.9, Copyright (c), by Zend Technologies PHPのMariaDBクライアントがインストール済みか確認。 % php -m | grep -iE 'mysqli|pdo_mysql' mysqli pdo_mysql PHPコマンドを実行。 % php -r ' $m = @new mysqli("192.168.10.109", "user", "password", "database", 3306); if ($m->connect_errno) { fwrite(STDERR, "NG [{$m->connect_errno}] {$m->connect_error}\n"); exit(1); } $r = $m->query("SELECT VERSION() v, DATABASE() d, USER() u")->fetch_assoc(); ec...

Mac miniにsshでログインしたときにzshでHomeとEndを効くようにする

WindowsからMac miniへSSHでログインしたときにHomeとEndで移動できなかったので対応したときの覚書。 Windows環境: Windows 11 Pro, Windows Terminal Mac環境:  Mac mini 2024, Tahoe 26.5.2 この記事はClaude Codeが作成。 1.Windows TerminalでmacOSへSSHログインしたときにHome, Endが効かない訳 原因はシェルではなく行編集ライブラリの違い Home/Endキーが効かない理由は、macOSのデフォルトシェルがzshであること。 より正確には、zshが使用している行編集ライブラリがbashと異なることに起因。 bash → readline(GNU Readline Library) zsh → ZLE(Zsh Line Editor、zsh独自実装) 両者はコードベースが完全に別物。 したがって設定ファイルも記法も互換性なし。 キー入力の実体はエスケープシーケンス 提として、Home/Endキーは「Homeという信号」を送っているわけではない。 端末エミュレータが定められたエスケープシーケンスという文字列を送出し、受け取った側がそれを解釈する仕組み。 Windows Terminal + OpenSSHの組み合わせで送出されるもの。 キー シーケンス Home \e[H End \e[F Delete \e[3~ \e はエスケープ文字(0x1B)を表す。 zshは対応表を持たずに起動する zshのZLEは、これらのシーケンスに対するバインドを初期状態でほとんど持っていない。 Ctrl+A(行頭)、Ctrl+E(行末)はemacsキーバインドとして最初から有効 一方 Home(\e[H), End(\e[F) は未登録 結果として、Homeキーを押しても「解釈できない文字列が届いただけ」の状態となり、無視されるか意図しない挙動になる。 2.対応策/設定 zshの設定(~/.zshrc)を行う。 # vim .zshrc # bashと同じemac...