apache2 で mod_rewriteを有効に
-
.htaccess
でmod_rewriteを利用しようとしたら有効になっていなかった。
# 以下コマンドで読み込まれているモジュール一覧を確認できる。
apache2ctl -M
/etc/apache2/mods-available/rewrite.load をコピーしてきて
/etc/apache2/mods-enabled/rewrite.load に置けば動く。
php用のpdo mysqlライブラリの生成
# 生成
docker-php-ext-install pdo_mysql
# 以下にpdo_mysql.soが生成されている。(php 5.6の場合)
ls /usr/local/lib/php/extensions/no-debug-non-zts-20131226/
php.ini
# error_logをdocker logコマンドで確認できるように
log_errors = On
error_log = /dev/stderr
error_reporting = E_ALL
# timezone
date.timezone = "Asia/Tokyo"
# extension
extension=pdo_mysql.so
mysql コマンドで文字コード指定
mysql --default-character-set=utf8 -uroot -proot
mysqlのクエリログを出力する
show variables like 'general_log%';
set global general_log = on;
起動方法
docker-compose.yml
version: '3'
services:
app:
image: php:5.6-apache
volumes:
- ./www:/var/www/html
- ./files/rewrite.load:/etc/apache2/mods-enabled/rewrite.load
- ./files/php.ini:/usr/local/etc/php/php.ini
- ./files/000-default.conf:/etc/apache2/sites-available/000-default.conf
- ./files/no-debug-non-zts-20131226/:/usr/local/lib/php/extensions/no-debug-non-zts-20131226/
ports:
- 80:80
mysql:
image: mysql
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
environment:
- MYSQL_ROOT_PASSWORD=root
ports:
- 3306:3306
volumes:
- ./mysql:/var/lib/mysql
postgresql用
- phpコンテナから以下実施
apt install postgresql-server-dev-all
docker-php-ext-install pdo_pgsql
tar czf /pdo_pgsql.tar.gz \
/usr/src/php/ext/pdo_pgsql/ \
/usr/local/etc/php/conf.d/docker-php-ext-pdo_pgsql.ini \
/usr/lib/x86_64-linux-gnu/libpq.so.5 \
/usr/lib/x86_64-linux-gnu/libpq.so.5.9 \
なお /usr/local/etc/php/conf.d/docker-php-ext-pdo_pgsql.ini
には
extension=pdo_pgsql.so
が記述されている。