centos

如何在centos上部署php

小樊
35
2025-12-19 10:23:46
栏目: 编程语言

在CentOS上部署PHP可以通过多种方式实现,以下是一些常见的方法:

方法一:使用Remi仓库安装PHP

  1. 添加Remi仓库

    sudo yum install epel-release
    sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
    
  2. 启用Remi仓库

    sudo yum-config-manager --enable remi-php74
    
  3. 安装PHP及其扩展

    sudo yum install php php-mysqlnd php-gd php-curl php-xml php-mbstring php-zip
    
  4. 重启Web服务器(例如Apache或Nginx):

    sudo systemctl restart httpd  # 如果是Apache
    sudo systemctl restart nginx  # 如果是Nginx
    

方法二:使用CentOS官方仓库安装PHP

  1. 安装PHP及其扩展

    sudo yum install php php-mysqlnd php-gd php-curl php-xml php-mbstring php-zip
    
  2. 重启Web服务器(例如Apache或Nginx):

    sudo systemctl restart httpd  # 如果是Apache
    sudo systemctl restart nginx  # 如果是Nginx
    

方法三:使用Docker安装PHP

  1. 安装Docker

    sudo yum install docker
    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. 拉取PHP镜像

    sudo docker pull php:7.4-fpm
    
  3. 运行PHP容器

    sudo docker run -d --name php-fpm-container -v /path/to/your/app:/var/www/html php:7.4-fpm
    
  4. 配置Nginx或Apache以使用PHP-FPM

    • 对于Nginx,编辑/etc/nginx/conf.d/default.conf文件,添加以下内容:
      location ~ \.php$ {
          fastcgi_pass   php-fpm-container:9000;
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          include        fastcgi_params;
      }
      
    • 对于Apache,启用proxy_fcgi模块并配置httpd.confapache2.conf文件:
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
      
      <FilesMatch \.php$>
          SetHandler "proxy:fcgi://localhost:9000"
      </FilesMatch>
      
  5. 重启Web服务器

    sudo systemctl restart httpd  # 如果是Apache
    sudo systemctl restart nginx  # 如果是Nginx
    

方法四:使用源码编译安装PHP

  1. 安装依赖包

    sudo yum install gcc make autoconf libc-dev zlib-devel libxml2-dev bzip2-dev curl-devel libjpeg-devel libpng-dev freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel autoconf
    
  2. 下载PHP源码

    wget https://www.php.net/distributions/php-7.4.33.tar.gz
    tar -zxvf php-7.4.33.tar.gz
    cd php-7.4.33
    
  3. 配置和编译

    ./configure --with-config-file-path=/etc/php.ini --enable-mbstring --with-curl --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-zlib --with-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
    make && sudo make install
    
  4. 配置PHP

    cp php.ini-production /etc/php.ini
    
  5. 重启Web服务器(例如Apache或Nginx):

    sudo systemctl restart httpd  # 如果是Apache
    sudo systemctl restart nginx  # 如果是Nginx
    

选择适合你需求的方法进行部署。如果你需要快速部署并且不介意使用第三方仓库,方法一是一个不错的选择。如果你需要更高的灵活性和控制,可以考虑方法三或方法四。

0
看了该问题的人还看了