编译安装PHP7.2

参考:PHP7.2编译安装

1.安装依赖

Ubuntu16.04:

sudo apt-get install libxml2-dev openssl libssl-dev make curl libcurl4-gnutls-dev libjpeg-dev libpng-dev libmcrypt-dev libldap2-dev libsasl2-dev libxslt-dev
ln -s /usr/lib64/liblber.so /usr/lib/
ln -s /usr/lib64/libldap.so /usr/lib/
groupadd -g 58 nginx
useradd -u 58 -g 58 -M nginx -s /sbin/nologin

CentOS7:

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel   openldap   openldap-devel  libxslt  libxslt-devel
ln -s /usr/lib64/liblber.so /usr/lib/
ln -s /usr/lib64/libldap.so /usr/lib/
groupadd -g 58 nginx
useradd -u 58 -g 58 -M nginx -s /sbin/nologin
2.编译
cd ~/setup
wget http://cn2.php.net/distributions/php-7.2.13.tar.gz
tar -zxvf php-7.2.13.tar.gz
cd php-7.2.13
./configure \
--prefix=/usr/local/php7 \
--exec-prefix=/usr/local/php7 \
--bindir=/usr/local/php7/bin \
--sbindir=/usr/local/php7/sbin \
--includedir=/usr/local/php7/include \
--libdir=/usr/local/php7/lib/php \
--mandir=/usr/local/php7/php/man \
--with-config-file-path=/usr/local/php7/etc \
--with-mysql-sock=/var/run/mysql/mysql.sock \
-with-libxml-dir=/usr   \
--with-iconv-dir  \
--with-mhash \
--with-openssl \
--with-mysqli=shared,mysqlnd \
--with-pdo-mysql=shared,mysqlnd \
--with-gd \
--with-iconv \
--with-zlib \
--enable-zip \
--with-ldap=shared  \
--with-ldap-sasl  \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--without-gdbm \
--disable-fileinfo  \
--with-xsl

make && sudo make install

中途如果出现“configure: error: Cannot find OpenSSL’s libraries”,可参考这个博客

3.配置
cp ~/setup/php7.2.13/php.ini-development /usr/local/php7/etc/
mv /usr/local/php7/etc/php-fpm.conf.default usr/local/php7/etc/php-fpm.conf
mv  /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
/usr/local/php7/sbin/php-fpm

最后设置开机启动

chmod 755 /etc/rc.d/rc.local
vim /etc/rc.d/rc.local

添加一句

/usr/local/php7/sbin/php-fpm

<think>好的,用户想要在Alpine Linux上编译安装PHP 7.2,我得仔细想想步骤。首先,Alpine Linux是基于musl libc和BusyBox的轻量级发行版,所以安装依赖包可能和其他发行版不同。用户提到的是PHP 7.2,可能需要先添加合适的仓库或者找到对应的包。 根据引用[2],Alpine Linux 3.8.0使用的是Linux 4.14内核,但用户可能用的是更新的版本,不过安装步骤应该类似。通常编译PHP需要安装开发工具和库依赖。可能需要使用apk add命令来安装这些依赖,比如build-base,autoconf,libtool等。然后PHP的依赖库,比如libxml2-dev,openssl-dev,zlib-dev等。 接下来,下载PHP 7.2的源代码,可能需要从官方PHP网站或者Alpine的包仓库获取。用户需要解压源码,进入目录,然后配置编译选项。这里要注意Alpine的环境可能缺少某些库,需要确保所有依赖都安装正确。例如,如果用户需要某些扩展比如redis,可能需要额外安装,如引用[1]提到的redis扩展,可能需要编译安装或者通过pecl安装。 然后运行configure命令,指定安装路径和需要的扩展。之后make和make install。安装完成后,配置php.ini,比如添加extension=redis.so,如引用[1]中的步骤。最后可能需要配置web服务器,比如Nginx,如引用[3]中的Dockerfile示例,可能需要调整路径和配置。 用户可能遇到的问题包括依赖缺失、配置参数错误,或者路径问题。需要检查错误日志,确保所有依赖库正确安装。另外,Alpine使用apk包管理,可能包名称和其他发行版不同,需要确认正确的包名。 生成相关问题的时候,可以考虑编译常见错误、依赖管理、扩展安装、优化步骤,以及Docker集成等。确保问题覆盖用户可能进一步的需求。</think>### 在 Alpine Linux 上编译安装 PHP 7.2 的步骤 #### 1. **安装基础依赖** - 更新仓库并安装编译工具和依赖库: ```bash apk update apk add build-base autoconf libtool pkgconf re2c apk add libxml2-dev openssl-dev zlib-dev curl-dev sqlite-dev libpng-dev ``` - 说明:Alpine Linux 使用 `musl libc`,部分依赖包名称与其他 Linux 发行版不同[^2]。 #### 2. **下载 PHP 7.2 源码** - 从官方仓库下载指定版本: ```bash wget https://www.php.net/distributions/php-7.2.34.tar.gz tar -xzvf php-7.2.34.tar.gz cd php-7.2.34 ``` #### 3. **配置编译选项** - 根据需求配置编译参数(示例包含常用扩展): ```bash ./configure \ --prefix=/usr/local/php7.2 \ --with-openssl \ --with-zlib \ --with-curl \ --enable-mbstring \ --with-pdo-mysql \ --enable-fpm \ --with-gd ``` - 若需扩展(如 Redis),需额外安装依赖并启用配置[^1]。 #### 4. **编译安装** - 执行编译安装: ```bash make -j$(nproc) make install ``` #### 5. **配置 PHP 环境** - 复制默认配置文件: ```bash cp php.ini-production /usr/local/php7.2/lib/php.ini ``` - 编辑 `php.ini` 启用扩展(如 Redis): ```ini extension=redis.so # 需提前编译安装扩展 ``` #### 6. **集成到 Alpine 系统** - 添加 PHP 到环境变量: ```bash echo 'export PATH="/usr/local/php7.2/bin:$PATH"' >> /etc/profile source /etc/profile ``` #### 7. **验证安装** - 检查 PHP 版本: ```bash php -v ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值