当前位置:首页 > PHP教程 > php环境安装 > 列表

如何在centos8自定义目录安装php7.3

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-24 15:00:11 浏览: 评论:0 

在本文中我们将给大家介绍如何在centos8自定义目录安装php7.3,在选择要安装的PHP版本之前,请确保你的应用程序支持它,我们还将向你展示如何将PHP与Nginx和Apache集成,感兴趣的朋友跟随小编一起看看吧。

1.目录结构

源码目录:/home/werben/pkgsrc/php-7.3.11

安装目录:/home/werben/application/php7.3.11

2.下载php源码

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

wget https://www.php.net/distributions/php-7.3.11.tar.bz2

3.解压源码

tar --bzip -xvf php-7.3.11.tar.bz2 php-7.3.11

4.安装编译工具和库

yum install -y gcc gcc-c++

yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel libicu-devel freetype-devel openldap-devel openldap openldap-devel

5.配置编译参数

  1. #创建用户组和用户 
  2. groupadd www 
  3. useradd -g www www 
  4.  
  5. #配置fpm的用户组和用户,以及安装其他扩展 
  6. ./configure --prefix=/home/werben/application/php7.3.11 \ 
  7. --enable-fpm \ 
  8. --with-fpm-user=www \ 
  9. --with-fpm-group=www \ 
  10. --enable-mysqlnd \ 
  11. --with-mysqli=mysqlnd \ 
  12. --with-pdo-mysql=mysqlnd \ 
  13. --enable-mysqlnd-compression-support \ 
  14. --with-iconv-dir \ 
  15. --with-freetype-dir \ 
  16. --with-jpeg-dir \ 
  17. --with-png-dir \ 
  18. --with-zlib \ 
  19. --with-libxml-dir \ 
  20. --enable-xml \ 
  21. --disable-rpath \ 
  22. --enable-bcmath \ 
  23. --enable-shmop \ 
  24. --enable-sysvsem \ 
  25. --enable-inline-optimization \ 
  26. --with-curl \ 
  27. --enable-mbregex \ 
  28. --enable-mbstring \ 
  29. --enable-intl \ 
  30. --with-mcrypt \ 
  31. --with-libmbfl \ 
  32. --enable-ftp \ 
  33. --with-gd \ 
  34. --enable-gd-jis-conv \ 
  35. --enable-gd-native-ttf \ 
  36. --with-openssl \ 
  37. --with-mhash \ 
  38. --enable-pcntl \ 
  39. --enable-sockets \ 
  40. --with-xmlrpc \ 
  41. --enable-zip \ 
  42. --enable-soap \ 
  43. --with-gettext \ 
  44. --disable-fileinfo \ 
  45. --enable-opcache \ 
  46. --with-pear \ 
  47. --enable-maintainer-zts \ 
  48. --with-ldap=shared \ 
  49. --without-gdbm 
  50.  
  51.  
  52. #上面的步骤可能会出现很多问题,如需要重新安装libzip,需要安装ldap,需要安装cmake 
  53.  
  54. #重新安装libzip需要安装cmake,这里记录一下cmake的安装步骤,其他问题自己百度解决了, 
  55. #不记录了,中间自己去官网下了几个最新的cmake版本,编译过程中都出错了。 
  56. #发现宝塔用的是2.8.X的版本。这里我用的版本是3.5.2的版本 
  57.  
  58. wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz 
  59. tar xvf cmake-3.5.2.tar.gz 
  60. cd cmake-3.5.2 
  61. ./bootstrap --prefix=/usr/local/cmake 
  62. gmake 
  63. gmake install 
  64.  
  65. cd /usr/local/cmake/bin 
  66. ln -s /usr/local/cmake/bin/cmake /usr/bin/ 
  67. cmake --version 
  68.  
  69. #接下来安装libzip 
  70. wget https://libzip.org/download/libzip-1.5.2.tar.gz 
  71. tar -zxf libzip-1.5.2.tar.gz 
  72. cd libzip-1.5.2 
  73. mkdir build 
  74. cd build  
  75. cmake .. 
  76. make -j4 
  77. make install 

6.安装make工具

#如果提示make命令找不到,则才需要安装make工具

yum -y install gcc automake autoconf libtool make

7.编译安装

make && make install

8.映射全局命令

ln -s /home/werben/application/php7.3.11/sbin/* /usr/local/sbin/

ln -s /home/werben/application/php7.3.11/bin/* /usr/local/bin/

9.配置php.ini

  1. #查看php.ini的位置 
  2. php -r "phpinfo();" | grep 'php.ini' 
  3.  
  4. #将源码中的php.ini*拷贝到php.ini的位置 
  5. cp /home/werben/pkgsrc/php-7.3.11/php.ini-* /home/werben/application/php7.3.11/lib/ 
  6.  
  7. #重命名php.ini文件 
  8. cp /home/werben/application/php7.3.11/lib/php.ini-production /home/werben/application/php7.3.11/lib/php.ini 

10.安装目录结构

  1. #/home/werben/pkgsrc/php-7.3.11安装目录的结构 
  2. ├── bin 
  3. │  ├── pear 
  4. │  ├── peardev 
  5. │  ├── pecl 
  6. │  ├── phar -> phar.phar 
  7. │  ├── phar.phar 
  8. │  ├── php 
  9. │  ├── php-cgi 
  10. │  ├── php-config 
  11. │  ├── phpdbg 
  12. │  └── phpize 
  13. ├── etc 
  14. │  ├── pear.conf 
  15. │  ├── php-fpm.conf.default 
  16. │  └── php-fpm.d 
  17. ├── include 
  18. │  └── php 
  19. ├── lib 
  20. │  ├── php 
  21. │  ├── php.ini 
  22. │  ├── php.ini-development 
  23. │  └── php.ini-production 
  24. ├── php 
  25. │  ├── man 
  26. │  └── php 
  27. ├── sbin 
  28. │  └── php-fpm 
  29. └── var 
  30.   ├── log 
  31.   └── run 

ps:下面将展示如何将PHP与Nginx和Apache集成。

配置PHP以与Apache一起使用

如果你将Apache用作Web服务器,请使用以下命令重新启动httpd服务,可以使用:

$ sudo systemctl restart httpd

配置PHP以与Nginx一起使用

默认情况下,PHP FPM以用户apache的身份运行,为避免权限问题,我们将用户更改为nginx,为此,请编辑相关的行,即user = nginx和group = nginx:

  1. $ sudo nano /etc/php-fpm.d/www.conf 
  2. ... 
  3. user = nginx 
  4. .. 
  5. group = nginx 

确保/var/lib/php目录具有正确的所有权:

$ chown -R root:nginx /var/lib/php

完成后,重新启动PHP FPM服务:

$ sudo systemctl restart php-fpm

接下来,编辑Nginx主机指令,并添加以下位置块,以便Nginx可以处理PHP文件:

  1. server { 
  2.  
  3.  # . . . other code 
  4.  
  5.  location ~ \.php$ { 
  6.  
  7.   try_files $uri =404; 
  8.  
  9.   fastcgi_pass unix:/run/php-fpm/www.sock; 
  10.  
  11.   fastcgi_index index.php; 
  12.  
  13.   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
  14.  
  15.   include fastcgi_params; 
  16.  
  17.  } 
  18.  

为了使新配置生效,请重新启动Nginx服务:

$ sudo systemctl restart nginx

Tags: centos8 php7.3

分享到: