環境
- Mac: Monterey
- Alfred3
解決策
- Alfred4.6にバージョンアップする
- phpをInstallして動かす
1.Alfred4.6にバージョンアップする
公式の解決策はこれ。
PowerPack使ってるから買い直さないといけないので却下したので、試していません。
If you install PHP (eg via homebrew ), most PHP-based workflows will continue to work without an issue, as the workflow script objects in Alfred 4.6 have been updated to be aware of alternative bin paths.
PHPをインストールした場合(たとえば、homebrewを介して)、Alfred 4.6のワークフロースクリプトオブジェクトが代替のbinパスを認識するように更新されているため、ほとんどのPHPベースのワークフローは問題なく機能し続けます。
2. phpをInstallして動かす
参考ページ:
内容としては
1. HomebrewからphpをInstallする
2. Workflowの変更とスクリプト化
HomebrewからphpをInstallする
$ brew install php ## /usr/local/bin/phpにインストールされる
Workflowの変更とスクリプト化
Alfred3はWorkflowの中で/usr/bin/php
を直接参照しているため、シンボリックリンクを作れば良いと思ったが、MacはSIP(System Integrity Protection)というものがあるため、/usr/bin/php
を操作することはできない。
$ ln -s /usr/local/bin/php /usr/bin/php
ln: /usr/bin/php: Read-only file system
そのため、以下が必要
-
Language:bashからphpをKickしている部分を
/usr/local/bin/php
に変更
- Langugage:/usr/bin/phpとしてKickしているScriptを同じディレクトリ内にスクリプトファイルとして保存して、bash or zshから実行
phpを書いたことない人への注意点
- phpをスクリプトファイルとして保存するときは
<?php
と?>
でかこむ必要がある
<?php
some script
?>
- phpスクリプトに
{query}
のような引数があったときは変更する必要がある。
$text = $argv[1]; // $text = "{query}";
感想
今まで全くやらなかったphpを知れた。