(2020年4月)
Mac(HighSierra)のPHPをv7.4.5にアップデートしたら、phpMyAdminやWordPressにエラーが出たのでそちらもアップデート。
WordPressのアップデートは簡単だが、phpMyAdminは手動で面倒。
PHPのアップデートにより、post_max_sizeやupload_max_filesizeが初期値に戻ってしまうので、再設定する必要がある。
過去に書いた以下の記事に対して、多少追加しておいた。
関連:Macでサーバー(Apache,PHP,MySQL,phpMyAdmin,WordPress)を作る
関連:[Mac] PHPのバージョンが異なる問題と解決方法 [HighSierra]
phpMyAdminに36MB(zip圧縮)のSQLファイルをインポートすると途中で止まる問題は解決セヅ。
(phpMyAdminのconfig.default.phpの設定で解決、最下部に後述)
Apacheもv2.4.33→v2.4.43とできるようだが、上げたらページが表示されなくなった!
以下の手順で解決。
現在のApacheのバージョンやhttpd.confの場所を調べる
apachectl -V (大文字)
結果
Apache/2.4.33 (Unix)
/private/etc/apache2/httpd.conf
Homebrew版Apacheのインストール
brew install httpd
brew upgrade httpd ←Apacheのアップデート
sudo apachectl restart ←Apacheの再起動
再度調べる
apachectl -V
結果
Apache/2.4.33 (Unix)
/private/etc/apache2/httpd.conf
http://192.168.0.XX:8080/
It works!
http://192.168.0.XX/だと出ない
インストールを有効化するためMac再起動
再度調べる
apachectl -V
結果
Apache/2.4.43 (Unix) ← Homebrew版で上がっている
/usr/local/etc/httpd/httpd.conf ← Homebrew版で場所変化
httpd.conf.default を 旧httpd.conf を見て改変
(変更箇所が多いので旧httpd.confの上書きでは失敗する)
-----
Apacheが起動しない場合
apachectl configtest
でのエラーを見る。
/private/etc/apache2/httpd.conf
の記述にエラーがあると行数を示してくれる。
brew uninstall httpd
でHomebrew版Apacheの削除後、再度入れようとするとmacOSが古くて失敗するので、Mac版でいくしかない。
-----
8080を80に変更(2箇所)
-----
mod_rewrite.soのコメントアウトを外す
-----
DocumentRoot “/users/www”
<Directory “/users/www”>
-----
# PHP7 of Homebrew
LoadModule php7_module /usr/local/Cellar/php/7.4.5/lib/httpd/modules/libphp7.so
(PHPのアップデートによりパスが変化するので注意)
-----
#ファイルアップロード上限
php_value memory_limit 2048M
php_value post_max_size 1024M
php_value upload_max_filesize 512M
#実行時間
php_value max_execution_time 600
-----
/で切った場合の優先順位
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
-----
拡張子規定
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
-----
php.iniのタイムゾーン設定やdisplay_errorsの設定。
-----
Apacheの再起動
sudo apachectl restart
振舞を確認する。
補記
Apacheが動いているかは、Macのアクティビティモニタで分かる。
プロセス名
Apache:httpd
MySQL:mysqld
/usr/local/etc/httpd/httpd.conf の php_value max_execution_time は phpinfo の max_execution_time の Local Value(左側)に相当
/usr/local/etc/php/7.4/php.ini の max_execution_time(秒) は 同右側に相当
Homebrew版Apacheの削除
brew uninstall httpd
削除してもMac版(v2.4.33)は残る
Apacheの起動
sudo apachectl start
Apacheの再起動
sudo apachectl restart
Homebrew内の各アップデートでありインストールではない
brew upgrade httpd
brew upgrade php
brew upgrade mysql
brew upgrade phpmyadmin
brew管理下の全てをアップデート
brew upgrade
インストール
brew install phpmyadmin
再インストール
brew reinstall phpmyadmin
mysqlのバージョン確認(接続前)
mysql –version
接続後
select version();
Homebrewのアップデート
バージョン確認
brew –version
Homebrew自体のアップデート
brew update
brew update時に「homebrew-core is a shallow clone.」でエラーとなる場合は、エラーの指示通り以下を実行。
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch –unshallow
過去の更新データを全てダウンロードするため時間がかかる。
補記(2022年1月)
各種アップデートで新版が検出されるも、Macが古いと、以下のようにエラーとなる。
Warning: You are using macOS 10.13.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew’s GitHub, Twitter or any other official channels. You are responsible for resolving any issues you experience while you are running this old version.
Error: Your Xcode (8.1) is too outdated.
Please update to Xcode 10.1 (or delete it).
Xcode can be updated from the App Store.
macOSがHigh Sierra(10.13.6)だと、以下が検出されるもアップデートできなかった。
・httpd(Apache) 2.4.43 → 2.4.52
・php 7.4.5_2 → 8.1.2
・mysql 8.0.19 → 8.0.28
・phpmyadmin 5.0.2 → 5.1.2
MacBook Air(13-inch, Mid 2011)は、High Sierra(10.13.6)が最終なのだ…
関連:10年落ちのMacBook Air(13-inch, Mid 2011)
追記:以下の方法でアップデートできるコトを確認。
関連:古いMacにXcodeをインストールする方法とHomebrewでのアップデート
mysql
Homebrew版mysqlの削除
brew uninstall mysql
削除してもデータは残る
データも削除
rm -rf /usr/local/var/mysql
インストール
brew install mysql
手動起動
mysql.server start
起動後に設定
mysql_secure_installation
phpMyAdminにてデータベース「wordpress」を作成してから/wordpress/wp-admin/install.phpで「ようこそ画面」。
自動起動
ApacheとPHPはMac起動で起動するが、MySQLは起動だけでなくMacに対面ログインか、コマンドでmysql.server startしなければ起動しない。
自動起動有効化
brew services start mysql
自動起動無効化
brew services stop mysql
自動起動かを調べる
brew services list
started:有効
stopped:無効
httpd,mysql,phpがstartedなのに、対面ログインかコマンドでmysql.server startしないとphpMyAdminにログインできない罠(=mysqlが起動していない)。
LaunchDaemons内のhomebrew.mxcl.mysql.plistを調べるが意味不明。
startedの色が異なるが意味不明、homebrew.mxcl.mysql.plist内のパスが意味をなさヅ意味不明、パスを通すも変化セヅ昭恵並に意味不明、mysqlを完全削除し再インストールしても自動起動不可で、何もかも不明。
sudo ln -fs /usr/local/opt/mysql/8.0.19/homebrew.mxcl.mysql.plist /Library/LaunchAgents/ でも無理。
phpMyAdmin
phpMyAdminで大ファイルのインポートに失敗する場合は、上述の容量設定に加え、以下も設定する。
/phpmyadmin/libraries/config.default.php
$cfg[‘ExecTimeLimit’] = 300;
↓
$cfg[‘ExecTimeLimit’] = 0; (無制限)
にする。
Mac
ターミナルからMacの再起動
sudo reboot
Macのアップデートの確認
sudo softwareupdate –list
全部インストール
sudo softwareupdate –install –all
関連:Macでサーバー(Apache,PHP,MySQL,phpMyAdmin,WordPress)を作る
関連:[Mac] PHPのバージョンが異なる問題と解決方法 [HighSierra]