LiNUX安装PHP7.X - Go语言中文社区

LiNUX安装PHP7.X


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

安装前准备,避免在安装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

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

tar -zxvf php7.2.12tar.gz

进入目录

cd php-7.2.12

安装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

如果依赖包安装好,就将以下整段复制编译,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

编译并安装:

make && make install

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

vim  /etc/profile

在文件末尾加入:

PATH=$PATH:/usr/local/php/bin
export PATH

要使改动立即生效执行

source /etc/profile

查看PHP 版本

php -v

在这里插入图片描述

这时候,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

启动php-fpm

/etc/init.d/php-fpm start

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

修改如下:
红框中 “#”号去掉
在这里插入图片描述
在这里插入图片描述
添加红框中内容
在这里插入图片描述
修改内容,如下(找到如下开头内容)
在这里插入图片描述

这里我将配置文件换到我自定义的文件中去,不做以上修改;
在这里插入图片描述
只在文件末尾加入

client_max_body_size 200m;
include vhosts/*.conf;

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

mkdir vhosts
vim app.conf

编辑内容:

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;
  }
}
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_26631319/article/details/84788491
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 08:20:02
  • 阅读 ( 1594 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢