apache-php5.6 (+phpredis,imagick,pdo_mysql,mysqli,fileinfo,opcache,gd,mcrypt) 部署 docker php apache


https://hub.docker.com/_/php/

应用: basic-> 添加服务: httpd

镜像: php:5.6.40-apache-stretch  or  91.cndo.org:5000/http:httpd56-20190101

卷:

/data/site:/data/site

/data/file:/data/file

/data/docker/apache/vhost:/etc/apache2/sites-enabled:ro

/data/docker/nginx/php/php.ini:/usr/local/etc/php/conf.d/uploads.ini:ro


apachectl -v  # 查看apache版本
php -v        # 查看php版本
/usr/sbin/apache2 -k restart  # -k start|restart|graceful|graceful-stop|stop   # apache命令
/usr/local/etc/php-fpm.conf  # php配置
netstat -ant | grep 9000  # 验证php进程,是否成功开启
which php    # 查找php地址
/usr/local/bin/phpize
/usr/local/bin/php-config


进入容器安装php扩展:    http://pecl.php.net/


apt-get update -y; # 更新软件信息数据库
apt-get install -y wget vim net-tools cron curl git cmake build-essential autoconf automake libtool zlib1g-dev zip openssl libssl-dev libpcre3 libpcre3-dev libfreetype6-dev libfontconfig1-dev libgpm-dev fontconfig gcc make autoconf libc6-dev pkg-config libmcrypt-dev libmemcached-dev zlib1g-dev bzip2 libbz2-dev libxml2-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev libpcre3-dev libbz2-dev libxml2-dev mcrypt;
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime;
apt-get dist-upgrade -y; # 这一步安装所有可用更新,包括新内核
apt-get upgrade -y; # 进行系统升级 
apt autoremove;     # Debian系统中删除过时/不需要的软件包。
apt clean; 
cat /etc/debian_version; # 查看内核版本

修改php上传大小:
vi /data/docker/nginx/php/php.ini
allow_url_fopen = On
file_uploads = On
memory_limit = 10240M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 60

激活apache mod_rewrite模块:
a2enmod rewrite
a2enmod proxy
a2enmod proxy_ajp
a2enmod proxy_http
a2enmod vhost_alias
a2enmod proxy_balancer
service apache2 restart # 重启


安装:pdo_mysql mysqli  fileinfo  opcache  # mysql php5需要

docker-php-ext-install gettext bz2 pdo_mysql mysql mysqli fileinfo soap opcache bcmath gettext sockets exif iconv mbstring bz2;


安装:phpredis    https://github.com/phpredis/phpredis/releases

curl -L -o phpredis.tar.gz https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz
tar xfz phpredis.tar.gz
rm -rf phpredis.tar.gz
mkdir -p /usr/src/php/ext
mv phpredis-4.3.0 /usr/src/php/ext/redis
docker-php-ext-install redis


安装: mcrypt             https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/ 

wget https://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
wget https://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar -xzvf libmcrypt-2.5.8.tar.gz && cd libmcrypt-2.5.8
./configure --disable-posix-threads --enable-static  && make && make install
docker-php-ext-install mcrypt
cd ../


安装:imagemagick    https://www.imagemagick.org/script/download.php

curl -L -o ImageMagick.tar.gz https://www.imagemagick.org/download/ImageMagick.tar.gz
tar xfz ImageMagick.tar.gz  && rm -rf ImageMagick.tar.gz
cd ImageMagick-7.1.1-4  &&  ./configure  && make && make install && ldconfig /usr/local/lib
cd ../

 

安装:imagick        https://pecl.php.net/package/imagick

curl -L -o imagick.tgz https://pecl.php.net/get/imagick-3.7.0.tgz
tar zxvf imagick.tgz && rm -rf imagick.tgz
mkdir -p /usr/src/php/ext
mv imagick-3.7.0 /usr/src/php/ext/imagick
docker-php-ext-install imagick


安装freetype      https://download.savannah.gnu.org/releases/freetype/

wget  https://download.savannah.gnu.org/releases/freetype/freetype-2.13.0.tar.gz
tar -xzvf  freetype-2.13.0.tar.gz;
cd  freetype-2.13.0;
-cd  freetype-2.13.0;
./configure --prefix=/usr/local/freetype  --without-harfbuzz;
make clean # 可以忽略, 之前有安装记录,重装之用
make; make install;  
whereis freetype # 验证
cd ../


安装jpeg库          http://www.ijg.org/

wget  http://www.ijg.org/files/jpegsrc.v9e.tar.gz;
tar -xzvf  jpegsrc.v9e.tar.gz;
cd  jpeg-9c;
./configure --enable-shared --enable-static --prefix=/usr/local/libjpeg
make clean # 可以忽略, 之前有安装记录,重装之用
make; make install;
whereis libjpeg; # 验证
cd ../


安装png库           https://sourceforge.net/projects/libpng/files/

wget   https://nchc.dl.sourceforge.net/project/libpng/libpng16/1.6.39/libpng-1.6.39.tar.gz
tar -xzvf  libpng-1.6.39.tar.gz;
cd  libpng-1.6.39;
./configure --prefix=/usr/local/libpng --enable-shared;
make clean # 可以忽略, 之前有安装记录,重装之用
make; make install;ldconfig;
whereis libpng; # 验证
cd ../


安装fontconfig    

# apt-get install libfreetype6-dev libfontconfig1-dev libgpm-dev
# apt-get install fontconfig
whereis fontconfig; # 验证  ; /usr/share/fontconfig


安装:gd                https://github.com/libgd/libgd/releases

apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev  libpng-dev  libpcre3-dev zlib1g-dev libbz2-dev libxml2-dev mcrypt
wget https://github.com/libgd/libgd/releases/download/gd-2.3.3/libgd-2.3.3.tar.gz
tar xfz libgd-2.3.3.tar.gz  && rm -rf libgd-2.3.3.tar.gz
cd libgd-2.3.3
./configure --prefix=/usr/local/libgd --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype  --with-jpeg=/usr/local/libjpeg --with-fontconfig=/usr/share/fontconfig;
make && make install
docker-php-ext-install gd zip gettext bz2 iconv
cd ../


设置php.ini:   

cd  /usr/local/etc/php/
cp  php.ini-production  php.ini
sed -i 's~;date.timezone =~date.timezone = "Asia/Shanghai"~g'  /usr/local/etc/php/php.ini
sed -i 's~;session.save_path = "/tmp"~session.save_path = "/tmp"~g'  /usr/local/etc/php/php.ini
sed -i 's~display_errors = Off~display_errors = On~g'  /usr/local/etc/php/php.ini
sed -i 's~short_open_tag = Off~short_open_tag = On~g'  /usr/local/etc/php/php.ini


安装: memcached     https://pecl.php.net/package/memcached

# apt-get install -y libmemcached-dev zlib1g-dev
pecl install memcached-2.2.0  # 支持php5.6
docker-php-ext-enable memcached
echo extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/memcached.so > /usr/local/etc/php/conf.d/docker-php-ext-memcached.ini


安装ionCube:

php -i | grep extension_dir    # 查看PHP存放模块的目录

cd  /data/file/soft/src/

wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

tar xvfz ioncube_loaders_lin_x86-64.tar.gz

cd ioncube

cp ioncube_loader_lin_5.6.so /usr/local/lib/php/extensions/no-debug-non-zts-20131226/
echo zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/ioncube_loader_lin_5.6.so >> /usr/local/etc/php/php.ini


安装分词:scws,php-scws: https://abc.htmltoo.com/thread-44748.htm

cd  /data/file/soft/src/scws;

wget  http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2;

wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2;

wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2;

tar xvjf scws-1.2.3.tar.bz2;

tar xvjf scws-dict-chs-gbk.tar.bz2;

tar xvjf scws-dict-chs-utf8.tar.bz2;

cd scws-1.2.3
./configure --prefix=/usr/local/scws ; make ; make install
ls -al /usr/local/scws/lib/libscws.la; # 执行下面命令看看文件是否存在
/usr/local/scws/bin/scws -h  # 试试执行 scws-cli 文件

cd ../;
cp -a dict.utf8.xdb /usr/local/scws/etc/;
cp -a dict.xdb /usr/local/scws/etc/;
 
安装php分词:php-scws
cd scws-1.2.3
cp -a phpext /usr/src/php/ext/
cd /usr/src/php/ext
mv phpext scws
docker-php-ext-install scws


清理:

apt autoremove
apt clean
rm -rf /usr/src/php/ext/*
rm -rf /var/www/html/*


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回