Linux从入门到放弃 编译安装php-7.4.9

本文详细介绍如何从源码编译安装PHP7.4.9,包括下载、依赖安装、配置选项解析及常用扩展启用。涵盖了从环境准备到最终配置的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载php-7.4.9

mkdir -p software/php
cd software/php

php-7.4.9.tar.gz

安装依赖

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel sqlite-devel  oniguruma-devel -y

perl* httpd-devel

编译安装

cd software/php/php-7.4.9/
./configure --prefix=/usr/local/php --enable-fpm --with-openssl --enable-bcmath --with-curl --enable-ftp --enable-gd --enable-mbstring --enable-sockets --enable-pcntl --with-zlib --enable-mysqlnd --with-pdo-mysql=mysqlnd
make && make install

安装完成


root@web01 ~/software/php/php-7.4.9 11:10:45
# make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
Installing PHP CLI binary:        /usr/local/php/bin/
Installing PHP CLI man page:      /usr/local/php/php/man/man1/
Installing PHP FPM binary:        /usr/local/php/sbin/
Installing PHP FPM defconfig:     /usr/local/php/etc/
Installing PHP FPM man page:      /usr/local/php/php/man/man8/
Installing PHP FPM status page:   /usr/local/php/php/php/fpm/
Installing phpdbg binary:         /usr/local/php/bin/
Installing phpdbg man page:       /usr/local/php/php/man/man1/
Installing PHP CGI binary:        /usr/local/php/bin/
Installing PHP CGI man page:      /usr/local/php/php/man/man1/
Installing build environment:     /usr/local/php/lib/php/build/
Installing header files:          /usr/local/php/include/php/
Installing helper programs:       /usr/local/php/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php/php/man/man1/
  page: phpize.1
  page: php-config.1
/root/software/php/php-7.4.9/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin/phar.phar
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers:           /usr/local/php/include/php/ext/pdo/

常用的配置选项

PHP 选项
–prefix[=PREFIX]:安装路径的前缀,可以自定义,例如 /tdata/soft/php。指定prefix,可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share,很凌乱。指定 prefix,直接删掉一个文件夹就够了。
–with-config-file-path=PATH:设置 php.ini 的搜索路径。默认为 PREFIX/lib。
–disable-short-tags:默认禁用短形式的开始标签 <? 。

PHP 扩展
每个扩展对应的选项,需要在具体的扩展文档里找。大部分可以安装 PHP 之后再安装。

–enable-mbstring:开启 mbstring 多字节扩展
–with-gd[=DIR]:激活 GD 支持,可以指定扩展位置。编译 GD 库需要libpng 和 libjpeg。建议通过 sudo apt-get install php7.2-gd 或 yum install php72w-gt 安装。
–with-pear:安装 PEAR 扩展。
–with-zip[=DIR]:提供 zip 支持,[DIR]是 ZZIPlib 库安装路径。建议通过 通过 PECL 安装。

进程控制扩展:
–enable-pcntl:开启 PCNTL 进程控制扩展,只能编译安装。

网络相关扩展:
–with-openssl[=DIR]:开启 OpenSSL 扩展,可以指定扩展位置
–enable-ftp:开启 FTP 扩展
–with-curl:支持 cURL
–enable-sockets:开启 socket 扩展
–enable-soap:支持 SOAP
–enable-fpm:激活 FPM 支持

数据库扩展:
–with-mysql=mysqlnd
–with-mysqli=mysqlnd
–with-pdo-mysql=mysqlnd

–with-mysql=/usr/bin/mysql_config 
–with-mysqli=mysqlnd 
–with-pdo-mysql=mysqlnd

配置

find / -name php.ini*
/root/software/php/php-7.4.9/php.ini-production
/root/software/php/php-7.4.9/php.ini-development

/usr/local/php/bin/php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/php/lib

cp /root/software/php/php-7.4.9/php.ini-development /usr/local/php/lib/php.ini

创建软连接

ln -s /usr/local/php/bin/php /usr/local/bin/php
ln -s /usr/local/php/sbin/php-fpm /usr/local/bin/php-fpm

检查版本

php -v
PHP 7.4.9 (cli) (built: Aug 31 2020 08:25:28) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

创建用户

groupadd -g777 wy
useradd -u777 -g777 wy

修改用户

cd /usr/local/php/etc/php-fpm.d
cp www.conf.default www.conf

vim /usr/local/php/etc/php-fpm.d/www.conf
 23 user = wy
 24 group = wy

修改配置文件

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
root@web01 /usr/local/php/etc 11:40:58
# php-fpm 
root@web01 /usr/local/php/etc 11:41:04
# ps aux | grep php
root     125897  0.0  0.6 214284  6220 ?        Ss   11:41   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
wy       125899  0.0  0.5 214284  5728 ?        S    11:41   0:00 php-fpm: pool www
wy       125900  0.0  0.5 214284  5728 ?        S    11:41   0:00 php-fpm: pool www
root     125911  0.0  0.0 112812   972 pts/1    R+   11:41   0:00 grep --color=auto php
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值