首页 > 系统相关 >Linux安装PHP8 新版笔记

Linux安装PHP8 新版笔记

时间:2023-02-28 14:33:12浏览次数:59  
标签:enable -- fpm PHP8 usr Linux 新版 php local

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 --without-pear --disable-phar

 

如果遇到这个错:

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   

把问题解决掉   解决完了再重新执行上面的配置命令

 

编译

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

 

标签:enable,--,fpm,PHP8,usr,Linux,新版,php,local
From: https://www.cnblogs.com/fengyumeng/p/17164154.html

相关文章

  • Redhat Enterprise Linux磁带机简单操作
    Linux下使用磁带机的方式有多种,主要有通过Amanda、Tar等软件进行操作。Amanda是提供了远程集中备份的功能,通过分别设置客户端、服务器端,实现远程集中存储备份。而Tar主要用......
  • Linux新手渣渣上路史
    Linux新手渣渣上路史时至2022年,IT行业的迅速发展大家也有目共睹,IT行业在社会的发展中起着举足轻重的作用。其中一角Linux系统,从诞生到开源,再到现在受大众的欢迎,是一个很好......
  • linux rz sz
    安装yum-yinstalllrzszhttps://www.ohse.de/uwe/software/lrzsz.html使用上传rz下载sz......
  • 10条命令1分钟,快速分析Linux性能问题!
    秘籍:10条命令1分钟,快速分析Linux性能问题!如果某个Linux有性能问题,你登录之后来排查,第一分钟内你会使用哪些命令做那些方面的排查?在Netflix,我们在云端有大量的EC2实......
  • [Shell] Windows上支持Linux Shell的工具/方法
    0概述1方式一:WindowsTerminal安装方式安装WindowsTerminal的最简单方法是通过MicrosoftStore:ms-windows-store://pdp/?ProductId=9n0dx20hk701如果此链接......
  • linux 网络命名空间
    #创建网络命名空间ipnetnsaddnetns1#查看新增的网络命名空间ipnetnslist#查看挂载点ls/var/run/netns/#进入网络命名空间查看ipnetnsexecnetns1ip......
  • 写一个linux 定时器与jar的启动脚本
    1.在etc/crontab写定时执行的脚本SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root#Fordetailsseeman4crontabs#Exampleofjobdefinition:......
  • Linux 经典脚本
    编写helloworld脚本#!/bin/bash#编写helloworld脚本echo"HelloWorld!"通过位置变量创建Linux系统账户及密码#!/bin/bash#通过位置变量创建Linux系......
  • linux 定时任务 crontab
    linux定时任务crontabcrontab-l列出所有任务crontab-e编辑任务servicecrondreload刷新任务......
  • linux命令的使用
    文章目录​​查看文件的实际路径​​​​mkdir已存在目录会覆盖么​​​​linux常用的颜色​​​​文件名有特殊符号的时候​​记录一些不好分类的命令查看文件的实际路......