Linux安装PHP8 新版笔记

PHP部分

 

官网下载地址:https://www.php.net/downloads.php

 

我下载的是此时的最新稳定版8.2.3

cd /usr/local
wget
https://www.php.net/distributions/php-8.2.3.tar.gz

 

解压

tar -zxvf php-8.2.3.tar.gz

 

安装一些必要依赖

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
yum -y install gcc gcc-c++ libxslt-devel* mod_ssl libtool-ltdl* sqlite-devel oniguruma-devel perl* libzip autoconf

 

进去

cd /usr/local/php-8.2.3/

 

配置

./configure --prefix=/usr/local/php8 --with-curl --with-freetype --enable-gd --with-gettext  --with-kerberos --with-libdir=lib64 --with-mysqli --with-openssl   --with-external-pcre --with-jpeg  --with-pdo-mysql --with-pear   --with-xsl --with-zlib --enable-fpm --enable-bcmath  --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --with-zip --enable-pcntl --enable-ftp --enable-session --enable-xml 

 

如果遇到这个错:

configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:

 

就停下来  看这篇文章 https://blog.csdn.net/tootsy_you/article/details/123132164   

把问题解决掉   解决完了再回来 cd /usr/local/php-8.2.3  重新执行上面的配置命令

 

编译

make

 

安装

make install

 

添加环境变量

vim /etc/profile

 

在最后一行下面加入

PATH=$PATH:/usr/local/php8/bin
export PATH

 

立即生效

source /etc/profile

 

查看PHP版本

php -v 

 

生成必要文件

cp /usr/local/php-8.2.3/php.ini-production /usr/local/php8/etc/php.ini
cp /usr/local/php-8.2.3/sapi/fpm/php-fpm /usr/local/php8/etc/php-fpm
cp /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf
cp /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf

 

编辑php.ini

vim /usr/local/php8/etc/php.ini 

 

以下参数仅供参考

date.timezone = PRC    //设置时区
file_uploads = On    //是否允许上传
upload_tmp_dir = /tmp    //上传临时目录
max_file_uploads = 20    //单个请求最多上传数量
upload_max_filesize = 10M    //允许上传文件大小
post_max_size = 20M    //允许post传输最大值(这个必须比upload_max_filezise大)
memory_limit = 128M    //设置脚本最大使用内存
error_reporting=E_ALL    //输出错误信息
error_log = /var/log/php.log    //错误日志路径

 

创建日志文件

touch /var/log/php.log
chmod 755 /var/log/php.log

 

启动php-fpm,载入php.ini

/usr/local/php8/sbin/php-fpm -c /usr/local/php8/etc/php.ini

 

注意  如果修改了php.ini则每次需要杀掉php-fpm进程再重新启动php-fpm,PHP的解析执行靠的是这家伙,不靠nginx。

ps -ef | grep php-fpm
kill -9 上一条命令查到的PID

 

nginx部分

nginx的安装:https://www.cnblogs.com/fengyumeng/p/17163412.html

 

打开配置文件

vim /usr/local/nginx/conf/nginx.conf

 

每一段都是包在server{}之中  如要配置多个域名 则复制粘贴多个server{}代码块

其中server_name为域名,root为php代码所在目录 。 替换这两个即可

server {
    listen       80;
    server_name  www.abc.com abc.com;
    root /var/www/abc;
    location / {
            if (!-e $request_filename) {
                 rewrite ^/index.php(.*)$ /index.php?s=$1 last;
                 rewrite ^(.*)$ /index.php?s=$1 last;
             }
        index  index.html index.htm index.php;
    }
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

保存退出

 

重启nginx

systemctl restart nginx

 

原文链接:https://www.cnblogs.com/fengyumeng/p/17164154.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux安装PHP8 新版笔记 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月18日

相关文章

  • PHP函数超时处理方法

    这里是关于PHP函数超时处理方法的完整攻略。 什么是PHP函数超时? 当我们使用PHP函数处理大量数据或者请求远程API时,有可能出现函数执行时间超过了服务器设置的最大执行时间,导致函数执行被强制中止的情况。这就是PHP函数超时。 如何处理PHP函数超时? 为了避免PHP函数超时这种问题的出现,我们可以采取以下方法: 1. 修改PHP.ini文件 可以通过修…

    PHP 2023年5月26日
    00
  • 采用matlab将图像灰度化的方法

    下面是关于使用 MATLAB 将图像灰度化的完整攻略: 1. 什么是图像灰度化? 图像灰度化(Grayscale)是将彩色图像转换为灰度图像的过程,灰度图像是每个像素点只使用一种灰度来表示,常用于图像处理和计算机视觉领域。在灰度图像中,每个像素点只需用 8 个比特(1 字节)存储即可,而彩色图像则需要 24 个比特(3 字节),因此灰度图像对于存储和传输来说…

    PHP 2023年5月26日
    00
  • PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】

    PHP在InnoDB引擎下快速代建全文搜索功能简明教程【基于Xunsearch】 全文搜索是许多网站必备的一个功能,对于搜索引擎、新闻、博客等网站具有很大的作用。在使用MySQL作为数据库引擎的时候,我们可以通过全文索引来实现全文搜索。但是,在InnoDB引擎下,MySQL的全文索引只能支持英文搜索,对于中文或者其他非英文的搜索则无能为力。那么如何解决这个问…

    PHP 2023年5月26日
    00
  • PHP实现即时输出、实时输出内容方法

    接下来我将为您详细讲解“PHP实现即时输出、实时输出内容方法”的完整攻略。 什么是即时输出和实时输出? 即时输出:即在执行PHP脚本时,脚本不会等到所有代码执行完成后再一次性输出,而是在脚本执行的过程中,随时将结果输出到浏览器端。 实时输出:即在执行长时间运行、需要输出的脚本时,脚本不会等到时间结束后一次性输出,而是在脚本执行的过程中,随时将结果输出到浏览器…

    PHP 2023年5月23日
    00
  • php实现mysql数据库备份类

    为了实现MySQL数据库备份,我们需要使用PHP调用MySQL提供的命令来进行备份。下面是实现MySQL数据库备份类的完整攻略: 步骤一:创建备份类 首先,我们需要创建一个名为BackupMySQL的PHP类,它将实现备份MySQL数据库的功能。以下是一个备份类示例: class BackupMySQL { private $DB_HOST = ‘local…

    PHP 2023年5月27日
    00
  • PHP登录验证码的实现与使用方法

    下面是详细的讲解“PHP登录验证码的实现与使用方法”的完整攻略。 简介 验证码是一种保证用户身份的有效方法。当用户注册或登录时,他们必须输入一个验证码,以验证他们确实是人类而不是机器自动化程序。这可以防止恶意程序在网站上进行刷屏、自动注册或垃圾邮件。 PHP是一种广泛使用的后端编程语言。PHP登录验证码可以很容易地与PHP结合使用以提高网站安全性。 实现方法…

    PHP 2023年5月26日
    00
  • 区块链技术:什么是加密货币挖矿?

    区块链技术:什么是加密货币挖矿? 什么是加密货币挖矿? 加密货币挖矿是指用计算机处理复杂的加密算法,获取数字货币的过程。挖矿的计算过程需要消耗计算能力、电力和时间。通过解决密码学难题获取数字货币的过程可以称之为挖矿。比特币、以太坊、莱特币等数字货币都需要进行挖矿。 挖矿的原理 比特币使用的是工作量证明(PoW)共识机制,即通过计算产生的结果来获得比特币奖励。…

    PHP 2023年5月27日
    00
  • php实现签到功能的方法实例分析

    下面我来为您详细讲解“php实现签到功能的方法实例分析”的完整攻略。 一、准备工作 在开始实现签到功能之前,我们需要进行一些准备工作,如:1. 安装好PHP开发环境。2. 确定数据库类型,如Mysql等,并连接好数据库。3. 创建好签到表,记录用户签到信息。 二、实现签到功能 创建签到页面,包括对应的HTML表单。 编写PHP代码实现签到功能: 判断用户是否…

    PHP 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部