Install
5.6版本的容器编译pdo貌似一直失败。
docker pull php:7.1
以共享代码文件的方式运行
docker run -it -v $PWD:/code --network host --name php71 php:7.1 bash
安装pdo扩展
/usr/local/bin/docker-php-ext-install pdo pdo_mysql
安装好之后,默认回开启mysqlpdo,在配置文件/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini里自动配置了。
root@baloneo-mj:/code/public# php --ini
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File: /usr/local/etc/php/php.ini
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed: /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini
root@baloneo-mj:/code/public#
运行tp5
php -S 127.0.0.1:8000 router.php
memcached插件
https://gist.github.com/malitov/def226c19dd40df369e9360b40f6bffb
apt install libmemcached-dev
apt-get update && apt-get install --no-install-recommends -y
libzip-dev
zlibc
zlib1g
&& docker-php-ext-configure zip --with-libzip
&& docker-php-ext-install zip
git clone https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached \
&& cd /usr/src/php/ext/memcached && git checkout -b php7 origin/php7 \
&& docker-php-ext-configure memcached \
&& docker-php-ext-install memcached
redis插件
wget http://pecl.php.net/get/redis-4.0.2.tgz
tar xfz redis-4.0.2.tgz
cp -r redis-4.0.2 /usr/src/php/ext/redis
docker-php-ext-install redis
gd
apt-get install -y build-essential libssl-dev zlib1g-dev libpng-dev libjpeg-dev libfreetype6-dev
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd
参考 https://gist.github.com/shov/f34541feae29afedd93208df4bf428f3









网友评论