2024年10月10日木曜日

MacOS Sequoia で Apache+PHP の再設定

 新しいXcodeが使いたかったので MacOS15(Sequoia) にアップグレードしたところ、やはりApacheでPHPが動かなくなっていた。

結論としては brew, openssl, php, httpd を全て再度インストールしたところ動くようになった。


以下、作業ログ

ps -ef | grep httpd したところ httpd は動いていたが、PHP はだめだった。

参考にしたサイトに
https://getgrav.org/blog/macos-sequoia-apache-multiple-php-versions
brew install openssl が必要なような記述があった。

brew doctor

Warning: Some installed formulae are deprecated or disabled. You should find replacements for the following formulae: openssl@1.1 Warning: You are using macOS 15.

と macOS15 はサポートされていないような返答があったので再度インストールしてみた。

brew install openssl ....

Error: unknown or unsupported macOS version: :dunno

だめだったので brew 自体を再インストールしたら openssl も再度インストール成功した。

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
% brew --version
 Homebrew 4.4.0
% brew install openssl 
 Warning: openssl@3 3.3.2 is already installed and up-to-date.
 To reinstall 3.3.2, run:
   brew reinstall openssl@3
% brew reinstall openssl@3
Warning: Some installed formulae are deprecated or disabled You should find replacements for the following formulae: openssl@1.1

しかし、Apacheは動いているが PHP を動かそうとすると落ちる。
 /opt/homebrew/etc/httpd/httpd.conf に
    LoadModule php_module /opt/homebrew/opt/php/lib/httpd/modules/libphp.so
を記述すると
 %  brew services restart http
で  
/private/var/log/apache2/error_log に
 caught SIGTERM, shutting down が出力される
% brew install php@8.3
 でもだめ。
% sudo /usr/sbin/apachectl -k stop
[Mon Oct 07 23:40:45.909424 2024] [so:error] [pid 88081] AH06665: No code signing authority for module at /opt/homebrew/opt/php/lib/httpd/modules/libphp.so specified in LoadModule directive.
httpd: Syntax error on line 189 of /private/etc/apache2/httpd.conf: Code signing absent - not loading module at: /opt/homebrew/opt/php/lib/httpd/modules/libphp.so


署名が必要そうなエラーもみかけたので キーチェーンアクセス.app を探したが、見つからない。パスワード.app になっていた。

% brew install httpd

でPHPも動くようになった。署名が必要な masOS のバージョンもあったが、今回は必要なかった。






Swift UI チュートリアル Loading watchOS が終わらない?

Loading watchOS が終わらない? ディスク容量の残量が少ないので不要なシュミレーターを削除したとこころ watchOSのものが全部なくなってしまっていた。 WatchOS を削除して再度インストールしても復活せず。 Create a new simulator で ...