docker中编译安装php及pthreads扩展

php php 服务器 docker 1414      收藏
docker中编译安装php及pthreads扩展

cd /usr/local/src
yum -y install openssl.x86_64 openssl-devel.x86_64 openssl-libs.x86_64 gcc gcc-c++ kernel-devel libxml2-devel curl-devel 

wget https://www.php.net/distributions/php-7.2.29.tar.gz
tar -xzvf php-7.2.29.tar.gz
cd php-7.2.29

./configure --prefix=/usr/local/php72 --with-fpm-systemd --with-gettext --with-iconv-dir --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-zlib --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-mbregex --enable-mbstring --enable-soap --enable-sockets --enable-xml --enable-zip --enable-opcache --enable-zip --with-curl --with-pcre-regex --with-gd --with-jpeg-dir --with-gettext --enable-xml --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-maintainer-zts

make && make install

cp ./sapi/fpm/php-fpm.service /usr/lib/systemd/system/php72-fpm.service
cd /usr/local/php72/etc/
cp php-fpm.conf.default php-fpm.conf
cd /usr/local/php72/etc/php-fpm.d/
cp www.conf.default www.conf
cp /usr/local/src/php-7.2.29/php.ini-development /usr/local/php72/lib/php.ini

groupadd www # 新增用户组
useradd -g www www # 新增用户并设置用户组

vi /usr/local/php72/etc/php-fpm.conf 
pid = run/php-fpm.pid  // 前面的分号去除
error_log = log/php-fpm.log  // 前面的分号去除
vi /usr/local/php72/etc/php-fpm.d/www.conf
user = www // 前面的分号去除
group = www // 前面的分号去除
listen = 127.0.0.1:9000  // 前面的分号去除 根据实际业务需求修改端口号

/usr/local/php72/bin/php --version # 查看php版本信息
cd /usr/local/php72/include/php/ext
wget https://github.com/krakjoe/pthreads/archive/refs/tags/v3.2.0.zip
yum -y install unzip 
yum -y install autoconf
unzip v3.2.0.zip/
mv pthreads-3.2.0/ pthreads
cd pthreads
/usr/local/php72/bin/phpize
./configure --with-php-config=/usr/local/php72/bin/php-config
make && make install

vi /usr/local/php72/lib/php.ini
添加 extension=pthreads.so
重启服务
/usr/local/php72/bin/php -m | grep pthreads

/usr/local/php72/bin/php --info | grep Thread 命令查看PHP是指定线程安全的方式编译的