环境
Ubuntu-18.0.4
php7.4.20
序言
php的安装应该是php程序开发者必备的技能,建议读者一步步跟着教程做,对每条命令自行测试;
- 到PHP官网下载tar.gz格式的源码包,我下载的版本是7.4.20,下载软件到本地目录/var/local/src(此目录自定义),并解压,
> tar -zxvf php-7.4.20.tar.gz
- 安装依赖可以提前安装好(也可以后续一个个安装);
> apt install -y build-essential gcc libcurl3-dev pkg-config libxml2-dev libssl-dev sqlite3 libsqlite3-dev libbz2-dev libgmp3-dev libonig-dev libedit-dev libreadline-dev libxslt1-dev autoconf postgresql
- 检测环境
./configure --prefix=/usr/local/php74 --with-config-file-path=/usr/local/php74/ini_path --with-config-file-scan-dir=/usr/local/php74/config_path --enable-mysqlnd --with-pdo-mysql --with-pdo-mysql=mysqlnd --enable-bcmath --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-mbstring --enable-phpdbg --enable-shmop --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-zlib --with-curl --with-pear --with-openssl --enable-pcntl --with-readline
notes: 可以输入./configure --help来查看php安装的配置项清单,可以自由选择,按需配置(不明白的可以自行搜索);
- 出现如下画面,说明环境正常,可以开始编译安装了
- 编译和安装
> make && make install
- 出现如下画面,说明安装成功了
- 设置环境变量
> vi /etc/profile
# 添加
> export PATH=$PATH:/usr/local/php74/bin
# 加载配置文件
> source /etc/profile
- 测试查看PHP版本
> php -v
- 配置php.ini文件
# 将源码中的配置文件复制到PHP的配置文件中
> cp /usr/local/src/php-7.4.20/php.ini-production /usr/local/php74/ini_path/php.ini
- 创建php-fpm软链接
> ln -s /usr/local/php74/sbin/php-fpm /usr/local/php74/bin/php-fpm
# 检测是否成功
> php-fpm -v
- 配置php-fpm
# 将PHP目录中的 php-fpm 配置文件进行修改
> cd /usr/local/php74/etc
> cp php-fpm.conf.default php-fpm.conf
> cp php-fpm.d/www.conf.default php-fpm.d/www.conf
- 启动php-fpm
> php-fpm
没有报错(没有消息就是最好的消息)
验证php-fpm是否启动成功
> ps -ef|grep php-fpm
> netstat -tnl | grep 9000 # php-fpm默认是9000端口
- 配置php-fpm系统自启动
> vi /etc/rc.local(如果没有创建一个)
文件内容:
#!/bin/sh
/usr/local/php74/sbin/php-fpm
保存退出
> chmod a+x /etc/rc.local
- 查看安装了哪些扩展
> php -m
- 安装扩展,以安装 ftp 扩展为例
> cd /usr/local/src/php-7.4.20/ext (源代码解压目录下的扩展目录)
> cd ftp
> phpize
> ./configure
> make && make install
在配置文件(php.ini)中开启扩展,如果没有"extension=ftp",可以加上去,有的话,将前面的分号去掉即可
重启php-fpm
> killall php-fpm && php-fpm
> php -m 查看