Debian 安装 php7.x 和 php8.x
2024-03-06 / Server / 259 次围观 / 0 次吐槽 /1 Debian 安装 php7.x 和 php8.x
1.1 Debian11 编译安装 PHP7.2
1.11 更新系统安装包列表
root@debian:~# cat /etc/apt/sources.list root@debian:~# apt update
1.12 安装依赖包
root@debian:~# apt install gcc make libxml2 libxml2-dev <-- xml库
1.13 安装 php7
官方网站: http://php.net/
#创建目录source和web,分别用来放源码和编译后的文件。 root@debian:~# mkdir /source/ root@debian:~# mkdir /web/ root@debian:~# cd /source/ root@debian:~# wget http://www.php.net/distributions/php-7.1.10.tar.gz root@debian:~# tar -zxf php-7.1.10.tar.gz root@debian:~# cd php-7.1.10 root@debian:~# ./configure --prefix=/web/php --with-config-file- path=/web/php/etc --enable-fpm --with-mysqli --with-pdo-mysql root@debian:~# make && make install #配置文件所在目录 --with-config-file-path #启用php-fpm模块(推荐) --enable-fpm #启用mbstring模块(推荐)。多字节字符串,让php支持支持ISO-8859-*, EUC-JP, UTF-8之外编码的 语言 --enable-mbstring #打开mysqli模块 --with-mysqli #pdo_mysql模块 --with-pdo-mysql
1.14 安装php扩展(可选)
#上面的方法是将所以扩展都编译在一起。这里是单独编译出来,然后通过php.ini文件,自由度更高 #/source/php-7.1.10/ext 你会看到很多的文件夹。需要什么扩展就进入哪个文件夹,运行如下命令 # /web/php/bin/phpize # ./configure --with-php-config=/web/php/bin/php-config # make && make install #安装必须 # apt install autoconf //php扩展编译需要 ------------------------------------------- phpredis扩展 [官方网站] http://pecl.php.net/package/redis 1.15 配置php-fpm #命令流程: # cd /source/ # wget http://pecl.php.net/get/redis-3.1.4.tgz # tar -zxf redis-3.1.4.tgz # cd redis-3.1.4 # /web/php/bin/phpize # ./configure --with-php-config=/web/php/bin/php-config # make && make install ------------------------------------------- openssl扩展 #命令流程: # cd /source/php-7.1.10/ext/openssl # cp config0.m4 config.m4 # ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib # /web/php/bin/phpize # ./configure --with-php-config=/web/php/bin/php-config # make && make install ------------------------------------------- gd扩展 # apt install libpng-dev # apt install libfreetype6 libfreetype6-dev # cd /source/php-7.1.10/ext/gd # /web/php/bin/phpize # ./configure --with-php-config=/web/php/bin/php-config --with-freetype-dir # make && make install --with-freetype-dir #打开gd库对freetype字体库的支持
1.15 配置php-fpm
#拷贝默认配置文件 # cd /source/php-7.1.10 # cp php.ini-development /web/php/etc/php.ini # cd /web/php/etc # cp php-fpm.conf.default php-fpm.conf # cd /web/php/etc/php-fpm.d/ # cp [www.conf.default](http://www.conf.default/) [www.conf](http://www.conf/) #修改php-fpm.conf #说明:为了可以使用信号命令。 找到以下字段 ;pid = run/php-fpm.pid 修改成 pid = run/php-fpm.pid 1.16 信号解释 1.2 Debian11 仓库源安装 PHP8 1.21 更新系统仓库 1.22 添加仓库和密钥 1.23 安装php8及扩展 # 修改[www.conf](http://www.conf/) # groupadd web # useradd -g web nginx -M -s /sbin/nologin #找到以下字段 user = nobody group = nobody #修改成 user = nginx group = www #php-fpm常用命令 # /web/php/sbin/php-fpm -c /web/php/etc/php.ini //启动php-fpm # kill -SIGUSR2 `cat /web/php/var/run/php-fpm.pid` //重启php-fpm # kill -SIGINT `cat /web/php/var/run/php-fpm.pid` //关闭php-fpm
1.16 信号解释
SIGINT, SIGTERM 立刻终止 SIGQUIT 平滑终止 SIGUSR1 重新打开日志文件 SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块
1.2 Debian11 仓库源安装 PHP8
1.21 更新系统仓库
# sudo apt update
1.22 添加仓库和密钥
# sudo apt install -y lsb-release ca-certificates apt-transport-https software- properties-common gnupg2 # echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list # wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add - # sudo apt update
1.23 安装php8及扩展
# sudo apt install php8.0 # php -v PHP 8.0.9 (cli) (built: Jul 30 2021 13:09:45) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.9, Copyright (c) Zend Technologies with Zend OPcache v8.0.9, Copyright (c), by Zend Technologies # apt install php8.0-<extension> # sudo apt install php8.0- # 例子 # sudo apt install php8.0-{mysql,cli,common,imap,ldap,xml,fpm,curl,mbstring,zip} # 检查加载模块 # php -m
1.3 查看系统中php版本信息
root@debian:~# php7.0 -v PHP 7.0.33-57+0~20211119.61+debian11~1.gbp5d8ba5 (cli) (built: Nov 19 2021 06:42:48) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.33-57+0~20211119.61+debian11~1.gbp5d8ba5, Copyright (c) 1999-2017, by Zend Technologies root@debian:~# php8.0 -v PHP 8.0.19 (cli) (built: May 17 2022 18:49:03) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.19, Copyright (c) Zend Technologies with Zend OPcache v8.0.19, Copyright (c), by Zend Technologies
1.31 启动 apache2 服务
root@debian:~# cat /var/www/html/index.php <?php //php软件信息 echo phpinfo(0b01) ?> root@debian:~# systemctl start apache2.service root@debian:~# systemctl status apache2.service
1.32 切换php版本
root@debian:~# a2dismod php8.0 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "zh_CN:zh", LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Module php8.0 disabled. To activate the new configuration, you need to run: systemctl restart apache2 root@debian:~# a2enmod php7.0 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "zh_CN:zh", LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Considering dependency mpm_prefork for php7.0: Considering conflict mpm_event for mpm_prefork: Considering conflict mpm_worker for mpm_prefork: Module mpm_prefork already enabled Considering conflict php5 for php7.0: Enabling module php7.0. To activate the new configuration, you need to run: systemctl restart apache2 root@debian:~# systemctl restart apache2.service
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.