Homebrewを使ってWebサーバーを構築した場合、.htaccessファイルを置いたとたんに500 Internal Server Errorが出ることがある。
/usr/local/etc/httpd/httpd.conf
で
<Directory "/usr/local/var/www">
AllowOverride All
</Directory>
とするだけではなく、
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
のコメントアウトを外す必要がある。
WordPress (4.9.4) はPHP 7.2の環境下ではエラーを吐き出す (いくつかのテーマがPHP 7.2に対応していない)。Homebrew環境であれば、/usr/local/etc/php/7.2/php.iniの
display_errors = On
を、
display_errors = Off
にしておけばとりあえず画面上のエラー表示は抑止できる (もちろん根本的な解決法ではない)。
Homebrewを使って10.13 (High Sierra) にApacheをインストールするとデフォルトでは8080ポートで動作する。これを80番ポートで動かすためには、httpd.confに
Listen 80
ServerName localhost:80
とするだけではなく、Apacheの起動時に
# sudo brew servicses start httpd
としなければならない (sudoにしないといけない)。sudoしないと80番ポートの場合はApacheが動かないので注意。sudoしなくても8080ポートでは動くのでしばらく訳がわからなかった。
LG UltraFine 5K Displayを現在一時的にMac mini (Late 2014、つまり最新型) で運用しているが、Mac ProやMacBook Proと異なり、5K解像度が使えない上に4Kや2Kで表示した場合でも文字がぼやける (Retina的に表示してくれない) のでいまいち。デフォルトの解像度は4Kで、2Kで表示するよりはまだましだが、文字が小さくいからボケが目立たないだけなのかもしれない。Mac Proで2K表示する分にはRetina表示でとてもきれいなので、Mac miniはRetinaに対応していないということだろう。LG UltraFine 5K DisplayはMac ProかMacBook Pro以外で使おうとはあまり考えないほうがよさそう。
Moodle 3.2.2からデータベースがutf8mb4に対応するようになったそうで、utf8で運用していると以下のようなエラーが出るようになった。
そこであちこち調べてMySQLのmy.cnfに以下の記述を追加した。
[mysqld]
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
innodb_large_prefix = ON
innodb_file_format_max = Barracuda
これだけではだめで、既存のデータベーステーブルを全てutf8からutf8mb4に変換する必要がある。以下のようなファイルをhoge.shなどという名前で保存し、sh hoge.shで実行すると自動的にutf8mb4に変換される。your_dbname、your_dbuser、your_passwordのところは自分の環境にあわせて変更する (Yさんからスクリプトをいただきました。ありがとうございます!)。なお、このshファイル自体はutf8で保存しないとうまく動かない。
#!/bin/sh
DB="your_dbname"
USER="your_dbuser"
PASS="your_password"
(
echo 'ALTER DATABASE `'"$DB"'` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
mysql -p$PASS -u $USER "$DB" -e "SHOW TABLES" --batch --skip-column-names \
| xargs -I{} echo 'ALTER TABLE `'{}'` ROW_FORMAT = DYNAMIC; \
ALTER TABLE `'{}'` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; \
ALTER TABLE `'{}'` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
) \
| mysql -p$PASS -u $USER "$DB"
広島修道大学での担当科目や社会心理学・人間行動進化学関係の記事を掲載するウェブログ