Home > Backend Development > PHP7 > body text

Detailed explanation of LiNUX installation of PHP7.X

coldplay.xixi
Release: 2023-02-17 20:24:01
forward
1872 people have browsed it

Detailed explanation of LiNUX installation of PHP7.X

LiNUX安装PHP7.X
PHP版本:7.2.12
下载地址:http://cn2.php.net/get/php-7.2.12.tar.bz2/from/this/mirror

推荐(免费):PHP7

安装前准备,避免在安装PHP依赖包时报错:configure: error: mcrypt.h not found. Please reinstall libmcrypt.
添加 epel 源

centos 7.x

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Copy after login

此处我将PHP 下载到 /usr/local 下,进入此目录下

tar -zxvf php7.2.12tar.gz
Copy after login

进入目录

cd php-7.2.12
Copy after login

安装PHP依赖包

yum install gcc libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
Copy after login

如果依赖包安装好,就将以下整段复制编译,PHP目录到 /usr/local/php;

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx  \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared  \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir  \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets  \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache
Copy after login

编译并安装:

make && make install
Copy after login

编译完成之后,我们添加PHP命令到环境变量里

vim  /etc/profile
Copy after login

在文件末尾加入:

PATH=$PATH:/usr/local/php/bin
export PATH
Copy after login

要使改动立即生效执行

source /etc/profile
Copy after login

查看PHP 版本

php -v
Copy after login

Detailed explanation of LiNUX installation of PHP7.X

这时候,nginx还是不支持php的,它需要php-fpm来处理两者的依赖关系,所以我们要胚子php-fpm

cp php.ini-production /etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
Copy after login

启动php-fpm

/etc/init.d/php-fpm start
Copy after login

nginx和php-fpm整合
编辑/usr/local/nginx/nginx.conf

修改如下:
红框中 “#”号去掉
Detailed explanation of LiNUX installation of PHP7.X
Detailed explanation of LiNUX installation of PHP7.X
添加红框中内容
Detailed explanation of LiNUX installation of PHP7.X
修改内容,如下(找到如下开头内容)
Detailed explanation of LiNUX installation of PHP7.X

这里我将配置文件换到我自定义的文件中去,不做以上修改;
Detailed explanation of LiNUX installation of PHP7.X
只在文件末尾加入

client_max_body_size 200m;
include vhosts/*.conf;
Copy after login

创建文件夹,并创建编辑 app.conf 文件

mkdir vhosts
vim app.conf
Copy after login

编辑内容:

server
{
  listen       80;
  server_name 39.105.186.95   vv.vv.com;
  index index.php index.html;
  root  /home/html/angel;

  location ~ .*\.(php|php7)?$
  {
    #fastcgi_pass  unix:/tmp/php-cgi.sock;
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.html;
    include       /usr/local/nginx/conf/fastcgi.conf;
    client_max_body_size  1000m;
  }

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  {
    expires      7d;
  }

  location ~ .*\.(js|css)?$
  {
    expires      1h;
  }

  if (!-e $request_filename) {
   rewrite ^/index.php(.*)$ /index.php?s=$1 last;
   rewrite ^(.*)$ /index.php?s=$1 last;
   break;
  }
}
Copy after login

更多相关免费学习推荐:PHP7教程

The above is the detailed content of Detailed explanation of LiNUX installation of PHP7.X. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template