ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linux安装PHP8 新版笔记 [打印本页]

作者: 冬雨财经    时间: 2023-2-28 14:38
标题: Linux安装PHP8 新版笔记
PHP部分

 
官网下载地址:https://www.php.net/downloads.php
 
我下载的是此时的最新稳定版8.2.3
  1. cd /usr/local<br>wget https://www.php.net/distributions/php-8.2.3.tar.gz
复制代码
 
解压
  1. tar -zxvf php-8.2.3.tar.gz
复制代码
 
安装一些必要依赖
  1. yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
复制代码
  1. yum -y install gcc gcc-c++ libxslt-devel* mod_ssl libtool-ltdl* sqlite-devel oniguruma-devel perl* libzip autoconf
复制代码
 
进去
  1. cd /usr/local/php-8.2.3/
复制代码
 
配置
  1. ./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   
把问题解决掉   解决完了再重新执行上面的配置命令
 
编译
  1. make
复制代码
 
安装
  1. make install
复制代码
 
添加环境变量
  1. vim /etc/profile
复制代码
 
在最后一行下面加入
  1. PATH=$PATH:/usr/local/php8/bin
  2. export PATH
复制代码
 
立即生效
  1. source /etc/profile
复制代码
 
查看PHP版本
  1. php -v
复制代码
 
生成必要文件
  1. cp /usr/local/php-8.2.3/php.ini-production /usr/local/php8/etc/php.ini
  2. cp /usr/local/php-8.2.3/sapi/fpm/php-fpm /usr/local/php8/etc/php-fpm
  3. cp /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf
  4. cp /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
复制代码
 
编辑php.ini
  1. vim /usr/local/php8/etc/php.ini
复制代码
 
以下参数仅供参考
  1. date.timezone = PRC    //设置时区
  2. file_uploads = On    //是否允许上传
  3. upload_tmp_dir = /tmp    //上传临时目录
  4. max_file_uploads = 20    //单个请求最多上传数量
  5. upload_max_filesize = 10M    //允许上传文件大小
  6. post_max_size = 20M    //允许post传输最大值(这个必须比upload_max_filezise大)
  7. memory_limit = 128M    //设置脚本最大使用内存
  8. error_reporting=E_ALL    //输出错误信息
  9. error_log = /var/log/php.log    //错误日志路径
复制代码
 
创建日志文件
  1. touch /var/log/php.log
  2. chmod 755 /var/log/php.log
复制代码
 
启动php-fpm,载入php.ini
  1. /usr/local/php8/sbin/php-fpm -c /usr/local/php8/etc/php.ini
复制代码
 
注意  如果修改了php.ini则每次需要杀掉php-fpm进程再重新启动php-fpm,PHP的解析执行靠的是这家伙,不靠nginx。
  1. ps -ef | grep php-fpm
  2. kill -9 上一条命令查到的PID
复制代码
 
nginx部分

nginx的安装:https://www.cnblogs.com/fengyumeng/p/17163412.html
 
打开配置文件
  1. vim /usr/local/nginx/conf/nginx.conf
复制代码
 
每一段都是包在server{}之中  如要配置多个域名 则复制粘贴多个server{}代码块
其中server_name为域名,root为php代码所在目录 。 替换这两个即可
  1. server {
  2.     listen       80;
  3.     server_name  www.abc.com abc.com;
  4.     root /var/www/abc;
  5.     location / {
  6.             if (!-e $request_filename) {
  7.                  rewrite ^/index.php(.*)$ /index.php?s=$1 last;
  8.                  rewrite ^(.*)$ /index.php?s=$1 last;
  9.              }
  10.         index  index.html index.htm index.php;
  11.     }
  12.     location ~ \.php$ {
  13.         fastcgi_pass   127.0.0.1:9000;
  14.         fastcgi_index  index.php;
  15.         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  16.         include        fastcgi_params;
  17.     }
  18. }
复制代码
保存退出
 
重启nginx
  1. systemctl restart nginx
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4