Linux安装PHP8 新版笔记

yizhihongxing

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 preg_replace,PHP preg_replace)

    PHP中的preg_replace函数是一个强大的正则表达式替换工具,可以用于替换字符串、过滤不需要的内容等。下面将详细讲解PHP正则表达式替换实现的完整攻略。 步骤一:准备待匹配的字符串和正则表达式 在使用preg_replace函数之前,需要准备待匹配的字符串和正则表达式。字符串可以是一个变量或者常量,正则表达式则是一个字符串,用来描述所需匹配的模式。例…

    PHP 2023年5月26日
    00
  • PHP实现基本留言板功能原理与步骤详解

    针对“PHP实现基本留言板功能原理与步骤详解”,我来详细讲解一下。 首先,基本留言板功能需要实现以下几项功能: 显示留言列表 提交留言 删除留言 以下是具体步骤: 建立数据库 在MySQL中,可以用以下代码新建一个留言板数据库及数据表: CREATE DATABASE my_guestbook; USE my_guestbook; CREATE TABLE …

    PHP 2023年5月27日
    00
  • PHP观察者模式原理与简单实现方法示例

    下面就详细讲解一下“PHP观察者模式原理与简单实现方法示例”的完整攻略。 什么是观察者模式? 观察者模式是一种软件设计模式,通过定义一种一对多的依赖关系,以便于多个对象同时处理某一个任务。在该模式中,一个被观察的主题(即可观察者)维护一组观察者集合,它们依赖于该主题。当主题状态发生改变时,它会自动通知观察者们,使得它们能够自动更新自己的状态。 观察者模式的实…

    PHP 2023年5月27日
    00
  • php简单统计字符串单词数量的方法

    当我们需要统计一个字符串中包含的单词数量时,可以使用PHP的一些内置函数来快速实现。 以下是一个针对该问题的完整攻略: 1. 将字符串转为数组 首先,我们需要将字符串转换为数组,以便于访问单词。 我们可以使用PHP的explode函数将字符串转换为数组,将其作为参数传递给该函数的是字符串的分隔符,通常在这里我们使用空格: $string = "Th…

    PHP 2023年5月26日
    00
  • 微信小程序webview实现长按点击识别二维码功能示例

    微信小程序webview实现长按点击识别二维码功能需要通过以下步骤: 设置webview加载的页面中的meta标签 在webview加载的页面中,需要添加以下的meta标签,用于设置页面不缩放: <meta name="viewport" content="width=device-width, initial-scale…

    PHP 2023年5月23日
    00
  • Eclipse PHPEclipse 配置的具体步骤

    Eclipse是一个优秀的开发工具,它提供了许多插件来支持不同的编程语言。在使用Eclipse开发PHP项目时,可以使用PHPEclipse插件来增强其PHP开发支持。 以下是Eclipse PHPEclipse配置的具体步骤: 步骤一:安装Eclipse 如果您已经安装了Eclipse,请跳过此步骤。 首先,您需要下载并安装Eclipse软件。您可以通过以…

    PHP 2023年5月27日
    00
  • 最新版多语言BNB链上智能合约区块链高手可以研究研究

    demo软件园每日更新资源,请看到最后就能获取你想要的: 1.多语言BNB链上智能合约区块链 别人发的我没啥用,还有前面发的和这个好像不一样 自己需要的下载玩,这个本来就没有后台,别下载了找我说不完整。看着还是挺不错的。 这玩意好像还有人改盗u 页面效果: 1.数据挖掘与预测分析 数据挖掘与预测分析电子书封面 读者评价 不过的技术工具书,对rapid min…

    PHP 2023年4月17日
    00
  • 详解C语言中的字符串拼接(堆与栈)

    详解C语言中的字符串拼接(堆与栈) 在 C 语言中,字符串拼接是一个非常基础且常用的操作,本文将详细讲解 C 语言中的字符串拼接及其涉及到的堆与栈。 什么是字符串拼接 字符串拼接是指将两个或多个字符串连接起来,形成一个新的字符串。在 C 语言中,字符串是以字符数组的形式存储的,因此字符串拼接实际上就是将一个字符数组的内容复制到另一个字符数组中,并加上结尾符号…

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