AI要約
MacのXAMPP(VM版)でPHPのセッション管理がデフォルト設定で無効になっている問題について解説しています。特にsession.auto_startがOffのためセッションが引き継がれず、/etc/php.iniで設定変更が必要です。また、session_start()はHTML出力の前に記述しなければ警告が出ることも触れており、ローカル環境でのPHP開発時の注意点をまとめています。
MacでXAMPP(VM版)を用いています。
XAMPPは,
便利だったり,でも,便利じゃないところもあったり,
開発しやすかったり,でも,しにくかったりするところがあるのですが,
ローカル環境で素早く開発するためには,必要だと思っています。
(とくに,PHP関連のWEBプログラム)
Nuxt.jsみたいに,Node.jsを使って開発する場合はXAMPPは必要ないですね。
(ただ,まだNode.jsで,DBを使ったことがないので,DBと連携するときにどうするのかは分かりません。)
MacのXAMPP(VM版) での Sessionについて
さて,ローカル環境でSessionがうまく動いていないことに気付きました。
session.auto_start がデフォルトでOff
どうやら,MacのXAMPP(VM版)は,デフォルトでSessionがOffのようです。sessionの内容が引き継がれていませんでした。

そのため, /etc/php.ini で,
session.auto_start=1
と記す必要があります。

session_start を宣言する場合は,HTMLより先に宣言しなければならない
session.auto_start を設定する前は,
いちいち,session_start() を宣言していたのですが,そこで警告が出ていました。
調べたところ,HTMLを出力している最中に, session_start() を呼び出すと,ダメなようです。
<html>タグより先に <?php session_start(); ?> を書かなければなりません。知りませんでした。
参考:PHPのsession_startでWarningが出てしまう
ゴリゴリ開発する前の設定で,色々と面倒なところがありますね。
忘れて,また同じことを探すのは嫌なので,書き留めておきます。