ubuntu 18.04 编译安装 PHP7.4.9 详细记录
现在使用 ubuntu 系统做服务器系统的人越来越多,windows10 也可以装 linux 子系统(ubuntu),以后使用 windows 开发不用装虚拟机了,在这里记录编译安装 php7.4.9 的记录
![]()
apt 安装依赖
sudo apt-get update sudo apt-get install -y gcc make openssl curl libbz2-dev libxml2-dev libjpeg-dev libpng-dev libfreetype6-dev libzip-dev libssl-dev libsqlite3-dev libcurl4-openssl-dev libgmp3-dev libonig-dev libreadline-dev libxslt1-dev libffi-dev libpng12-dev libpng3 libpnglite-dev libjpeg62-dev libpcre3-dev libiconv-hook-dev libiconv-hook1 libmcrypt-dev libmcrypt4 libmhash-dev libmhash2 libltdl-dev libssl-dev libcurl4-openssl-dev libmysqlclient-dev libmagickcore-dev libmagickwand-dev libedit-dev autoconf automake m4 sudo ln -s /usr/lib/libiconv_hook.so.1.0.0 /usr/lib/libiconv.so sudo ln -s /usr/lib/libiconv_hook.so.1.0.0 /usr/lib/libiconv.so.1
官网下载 php 源码包
wget https://www.php.net/distributions/php-7.4.9.tar.gz tar zxvf php-7.4.9.tar.gz cd php-7.4.9.tar.gz
预编译
prefix 为安装目录,这里是/usr/local/php 目录可以根据自身需要进行修改
./configure \ --prefix=/usr/local/php \ --enable-fpm \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --with-xmlrpc \ --with-mhash \ --with-sqlite3 \ --with-zlib \ --enable-bcmath \ --with-iconv \ --with-bz2 \ --with-openssl \ --enable-calendar \ --with-curl \ --with-cdb \ --enable-dom \ --enable-exif \ --enable-fileinfo \ --enable-filter \ --with-openssl-dir \ --with-zlib-dir \ --enable-gd-jis-conv \ --with-gettext \ --with-gmp \ --with-mhash \ --enable-json \ --enable-mbstring \ --enable-mbregex \ --enable-pdo \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-pdo-sqlite \ --with-readline \ --enable-session \ --enable-shmop \ --enable-simplexml \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --with-xsl \ --enable-mysqlnd-compression-support \ --with-pear \ --enable-opcache \ --with-zip \ --with-ffi
编译并安装
这个过程可能有点久,机器好一点的朋友可以使用-j 参数
make -j && make install
复制配置文件
cp php.ini-development /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
启动 php-fpm
/usr/local/php/sbin/php-fpm
php 服务化并设置开机自启
sudo vim /etc/systemd/system/php-fpm.service
将以下内容写入
[Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] Type=forking PIDFile=/var/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm ExecReload=/bin/kill -USR2 $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
设置开机自启
sudo systemctl enable php-fpm
systemctl 启动、停止、重启、状态
sudo systemctl start php-fpm sudo systemctl stop php-fpm sudo systemctl restart php-fpm sudo systemctl status php-fpm
php 在此就编译安装完成了
需要注意的是有些常用的扩展包并没有安装上,需要 phpize 进行安装,比如常用的 GD 库,与 Redis 数据库的扩展,可以参考下列两个文章
php7.4 编译安装 GD 库-详细记录
编译安装 Redis 与 PHP7 Redis 扩展