linux 系统安装php 8.0.2

1. 安装包准备

https://www.php.net/distributions/php-8.0.22.tar.gz

我下载到 /usr/local/src 这个目录了

cd /usr/local/src

wget https://www.php.net/distributions/php-8.0.22.tar.gz
2. tar 解压   然后进到解压的文件夹
tar -zxvf php-8.0.22.tar.gz 
cd php-8.0.22
3. 先安装一些依赖包 可能会少很多错误
yum install \
gcc gcc-c++ make cmake autoconfig \
zlib zlib-devel pcre pcre-devel \
libxml2-devel libxslt-devel \
bzip2-devel curl-devel libzip-devel\
sqlite-devel \
systemd-devel \
openssl-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libXpm libXpm-devel \
freetype-devel \
gmp-devel \
libldb-devel \
libc-client libc-client-devel \
openldap openldap-devel \
oniguruma oniguruma-devel \
net-snmp-devel readline-devel unixODBC-devel \
uw-imap uw-imap-devel uw-imap-static uw-imap-utils \
libicu-devel \
enchant2 enchant2-devel \
gd gd-devel \
libsodium libsodium-devel \
libtidy libtidy-devel
4. 运行 ./configure --help 命令来获得完整的可用选项清单 可以自己定义开启那些东西
./configure --help

然后运行 这些命令

./configure \
--prefix=/usr/local/php8 \
--enable-mbstring \
--enable-fpm \
--enable-gd \
--enable-dom \
--enable-phar \
--enable-posix \
--with-curl \
--with-gettext \
--with-iconv \
--with-openssl \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-zlib 

出现这个 就说明已经可以准备安装了

5. make 一下 然后 make install
make

然后运行

make install
6. 出现这个就表示安装好了

安装目录在

/usr/local/php8/
7. 设置配置文件
cp php.ini-development /usr/local/php8/php.ini

  创建 php-fpm的配置文件


cp /usr/local/php8/etc/php-fpm.conf.default  /usr/local/php8/etc/php-fpm.conf

 确保 php-fpm 模块使用 www-data 用户和 www-data 用户组的身份运行

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

把 23,24行改成

user = www-data
group = www-data

 

如果想改php端口的话 也可以在这里修改

然后 esc+:

wq 保存退出

8. 创建 www-data用户 并且不允许 ssh登录
useradd -r -s /usr/sbin/nologin www-data
9. 启动php-fpm
/usr/local/php8/sbin/php-fpm 

然后 看一下 9000 端口号 如果自己修改了端口号就找一下 自己修改的端口号

 ps -aux | grep 9000

已经启动了

10. 在自己的项目目录创建一个php文件 比如 我的
cd /data/htdocs/test
echo "<?php phpinfo();" > index.php
11. 新增 nginx 的网站配置 写自己的

比如在 nginx 的 http 里增加个 server

打开  nginx.conf 文件

在 http 方法里增加

server {
    listen        80;
    # 改成自己的域名
    server_name  xxx.com;
    # 自己对应的目录
    root   "/data/htdocs/test";
    location / {
        index index.php index.html error/index.html;
        error_page 400 /error/400.html;
       if (!-e $request_filename) {
           rewrite  ^(.*)$  /index.php?s=/$1  last;
        }
        autoindex  off;
    }
    location ~ \.php(.*)$ {
        # 自己对应的地址和端口
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include        fastcgi_params;
    }
}

然后 保存退出

重启nginx

12. 打开自己对应的域名

安装完成 

13. 设置环境变量 改成自己对应的路径
 export PATH=/usr/local/php8/bin:$PATH

重新加载一下配置信息  应该用一个就行

 source ~/.bashrc
 source /etc/environment 
php -v

这样就没问题

# 遇到的错误 

# No package 'libxml-2.0' found

configure: error: Package requirements (libxml-2.0 >= 2.9.0) were not met:

No package 'libxml-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

解决方法

 yum install libxml2-devel

# No package 'sqlite3' found

yum install sqlite-devel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值