php7编译安装

一、安装前首先到php的官网上面下载php7的版本(http://php.net/downloads.php)

我下载的是php7.1.5版本.

二、开始安装:下载完毕后解压并进入解压后的目录:

因为编译安装php前,它所依赖的各种库和包可能还未被安装,所以先yum安装php中常用的必须库:

yum install 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

然后开始安装:

./configure \
--prefix=/home/work/app/php7_1_5 \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=www  \
--with-fpm-group=www \
--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

这个时候可能会提示libmcrypt 库或者其他库没有,看来刚才yum安装依赖库的时候没安装成功,于是再yum运行上面命令,从提示信息发现还是没成功,那应该是yum源的确没有有些库,那怎么办? 更新yum源呗:

yum install epel-release

yum update

然后再yum -y install 相应库

成功后继续./configure php7 ,如果没有问题后就make && make install 

经过长时间编译后,安装成功后开始配置:


vim /etc/profile

在末尾追加
PATH=$PATH:/usr/local/php/bin
export PATH
执行命令使得改动立即生效
source /etc/profile
配置php-fpm
cp php.ini-production /etc/php.ini
cp /home/work/app/php7_1_5/etc/php-fpm.conf.default    /home/work/app/php7_1_5/etc/php-fpm.conf
cp /home/work/app/php7_1_5/etc/php-fpm.d/www.conf.default   /home/work/app/php7_1_5/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

chkconfig --add php-fpm
chkconfig php-fpm on

启动php:

/etc/init.d/php-fpm start 



php-fpm服务跑起来了,但是php-fpm走的是127.0.0.1:9000,外网是无法访问的,而且我们也不可能直接通过php-fpm给外网提供服务,所以用nginx去代理9000端口执行php。


接下来对nginx进行配置即可,fpm已经在后台运行了,我们需要在nginx的配置文件中增加代理的规则,即可让用户在访问80端口,请求php的时候,交由后端的fpm去执行,并返回结果。


$ vi ./conf/nginx.conf


#location ~ \.php$ {
  #   root           html;
  #  fastcgi_pass   127.0.0.1:9000;
  #  fastcgi_index  index.php;
  #  fastcgi_param  SCRIPT_FILENAME  /script$fastcgi_script_name;
  #  include        fastcgi_params;
#}
把前面的#注释符号去掉,把script改为$document_root最终如下:


location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /$document_root$fastcgi_script_name;
    include        fastcgi_params;
}
这样就OK了,重新载入nginx配置即可


./nginx  -s  reload


然后再web根目录下写一个index.php:

<?php

phpinfo();

>

这个时候运行index.php看看:

一切ok

这个时候看到运行时Headers中看到了

X-Powered-By:
 
PHP/7.1.5 信息,为了安全,可以将其关闭:

vim /etc/php.ini

找到:

expose_php = On

修改为:

expose_php = Off

重启 php-fpm服务;

然后再次运行并查看;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在CentOS 7上编译安装PHP 7.4的步骤: 1. 安装依赖项 在安装PHP之前,需要安装一些依赖项。运行以下命令: ``` sudo yum install epel-release sudo yum install wget gcc gcc-c++ make autoconf libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel libmcrypt-devel readline-devel libxslt-devel ``` 2. 下载PHPPHP官方网站下载PHP源代码,运行以下命令: ``` cd /usr/src sudo wget https://www.php.net/distributions/php-7.4.0.tar.gz ``` 3. 解压文件 解压下载的文件,运行以下命令: ``` sudo tar zxvf php-7.4.0.tar.gz cd php-7.4.0 ``` 4. 配置PHP 运行以下命令来配置PHP: ``` sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www-data --with-fpm-group=www-data --with-mysqli --with-pdo-mysql --with-openssl --with-zlib --enable-mbstring --with-gd --with-jpeg --with-png --with-zlib --with-libxml --enable-soap --enable-zip --enable-xml --enable-intl --with-curl --with-mcrypt --with-readline --enable-fpm ``` 5. 编译安装PHP 编译安装PHP,运行以下命令: ``` sudo make sudo make install ``` 6. 配置PHP-FPM 运行以下命令来配置PHP-FPM: ``` sudo cp /usr/src/php-7.4.0/sapi/fpm/php-fpm.conf.in /usr/local/php/etc/php-fpm.conf sudo cp /usr/src/php-7.4.0/sapi/fpm/www.conf.in /usr/local/php/etc/php-fpm.d/www.conf ``` 7. 启动PHP-FPM 运行以下命令来启动PHP-FPM: ``` sudo /usr/local/php/sbin/php-fpm ``` 现在,您已经成功地在CentOS 7上编译安装PHP 7.4。您可以通过创建一个phpinfo.php文件并在浏览器中输入IP地址或域名来验证PHP是否正常工作:http://your_server_ip_address/phpinfo.php

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值