Linux编译安装php,不管版本,其实流程是一致
安装依赖
sudo yum -y install gcc gcc-c++ zip unzip libxml2 libxml2-devel curl-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel gd-devel bzip2 bzip2-devel libsqlite3x libsqlite3x-devel oniguruma oniguruma-devel
安装libzip
cd /usr/local/src
wget https://libzip.org/download/libzip-1.5.2.tar.gz
tar -zxvf libzip-1.5.2.tar.gz
cd libzip-1.5.2
mkdir build
cmake .
make && make install
echo '/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64'>>/etc/ld.so.conf
ldconfig -v
编译安装php
cd /usr/local/src
wget http://hk1.php.net/get/php-7.4.0.tar.gz/from/this/mirror -O php-7.4.0.tar.gz
tar -zxvf php-7.4.0.tar.gz
cd php-7.4.0
./configure \
--prefix=/usr/local/php \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-zlib \
--enable-mysqlnd \
--enable-bcmath \
--enable-gd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-jpeg \
--with-freetype \
--with-iconv \
--with-openssl \
--with-curl \
--enable-mbstring \
--enable-static \
--enable-sockets \
--enable-xml
make && make install
参数解析
./configure \
--prefix=/usr/local/php \ # 指定安装路径
--enable-fpm \ # 表示激活PHP-FPM方式服务,即FactCGI方式运行PHP服务。
--with-fpm-user=nginx \ # 指定PHP-FPM进程管理的用户为www,此处最好和Nginx服务用户统一。
--with-fpm-group=nginx \ # 指定PHP-FPM进程管理用户组为www,此处最好和Nginx服务用户组统一。
--with-zlib \ # 打开zlib库的支持,用于http压缩传输
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-gd \ # 打开gd库的支持
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-openssl \ # 打开openssl,加密传输时用到
--with-curl \ # 打开curl浏览工具的支持
--enable-mbstring \ # 多字节,字符串的支持
--enable-static \ # 生成静态链接库
--enable-zip \ # 打开对zip的支持
--enable-sockets \ # 打开 sockets 支持
--enable-xml
配置php.ini
cp /usr/local/src/php-7.4.0/php.ini-development /usr/local/php-7.4.0/lib/php.ini
配置php-fpm
cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
启动php-fpm
cd /usr/local/php
sbin/php-fpm
查看是否启动成功
ps -e | grep php-fpm
管理PHP-FPM
vim /usr/local/php/etc/php-fpm.conf
#找到;pid = run/php-fpm.pid,把前面的;去掉
配置环境变量
vim /etc/profile
export PATH=/usr/local/php/bin:$PATH
source /etc/profile
#检查是否成功
php -v #能输出php版本就成功了
配置Systemd服务,其实编译安装时php-fpm.service文件php已经帮我们配置好了,只需要我们复制到指定位置,并启用就行了。
cp /usr/local/src/php-7.4.0/sapi/fpm/php-fpm.service /usr/lib/systemd/system/
#重载daemon
systemctl daemon-reload
设置开机自启
systemctl enable php-fpm.service
systemctl disable php-fpm.service
开启停止php-fpm
systemctl start php-fpm.service
systemctl stop php-fpm.service
网友评论