下载php-7.4.9
mkdir -p software/php
cd software/php
安装依赖
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